forked from aniani/vim
		
	
		
			
	
	
		
			82 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			82 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	ASN.1 | ||
|  | " Maintainer:	Claudio Fleiner <claudio@fleiner.com> | ||
|  | " URL:		http://www.fleiner.com/vim/syntax/asn.vim | ||
|  | " Last Change:	2001 Apr 26 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " keyword definitions | ||
|  | syn keyword asnExternal		DEFINITIONS BEGIN END IMPORTS EXPORTS FROM | ||
|  | syn match   asnExternal		"\<IMPLICIT\s\+TAGS\>" | ||
|  | syn match   asnExternal		"\<EXPLICIT\s\+TAGS\>" | ||
|  | syn keyword asnFieldOption	DEFAULT OPTIONAL | ||
|  | syn keyword asnTagModifier	IMPLICIT EXPLICIT | ||
|  | syn keyword asnTypeInfo		ABSENT PRESENT SIZE UNIVERSAL APPLICATION PRIVATE | ||
|  | syn keyword asnBoolValue	TRUE FALSE | ||
|  | syn keyword asnNumber		MIN MAX | ||
|  | syn match   asnNumber		"\<PLUS-INFINITY\>" | ||
|  | syn match   asnNumber		"\<MINUS-INFINITY\>" | ||
|  | syn keyword asnType		INTEGER REAL STRING BIT BOOLEAN OCTET NULL EMBEDDED PDV | ||
|  | syn keyword asnType		BMPString IA5String TeletexString GeneralString GraphicString ISO646String NumericString PrintableString T61String UniversalString VideotexString VisibleString | ||
|  | syn keyword asnType		ANY DEFINED | ||
|  | syn match   asnType		"\.\.\." | ||
|  | syn match   asnType		"OBJECT\s\+IDENTIFIER" | ||
|  | syn match   asnType		"TYPE-IDENTIFIER" | ||
|  | syn keyword asnType		UTF8String | ||
|  | syn keyword asnStructure	CHOICE SEQUENCE SET OF ENUMERATED CONSTRAINED BY WITH COMPONENTS CLASS | ||
|  | 
 | ||
|  | " Strings and constants | ||
|  | syn match   asnSpecial		contained "\\\d\d\d\|\\." | ||
|  | syn region  asnString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=asnSpecial | ||
|  | syn match   asnCharacter	"'[^\\]'" | ||
|  | syn match   asnSpecialCharacter "'\\.'" | ||
|  | syn match   asnNumber		"-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" | ||
|  | syn match   asnLineComment	"--.*" | ||
|  | syn match   asnLineComment	"--.*--" | ||
|  | 
 | ||
|  | syn match asnDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 contains=asnType | ||
|  | syn match asnBraces     "[{}]" | ||
|  | 
 | ||
|  | syn sync ccomment asnComment | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_asn_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_asn_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  |   HiLink asnDefinition	Function | ||
|  |   HiLink asnBraces		Function | ||
|  |   HiLink asnStructure	Statement | ||
|  |   HiLink asnBoolValue	Boolean | ||
|  |   HiLink asnSpecial		Special | ||
|  |   HiLink asnString		String | ||
|  |   HiLink asnCharacter	Character | ||
|  |   HiLink asnSpecialCharacter	asnSpecial | ||
|  |   HiLink asnNumber		asnValue | ||
|  |   HiLink asnComment		Comment | ||
|  |   HiLink asnLineComment	asnComment | ||
|  |   HiLink asnType		Type | ||
|  |   HiLink asnTypeInfo		PreProc | ||
|  |   HiLink asnValue		Number | ||
|  |   HiLink asnExternal		Include | ||
|  |   HiLink asnTagModifier	Function | ||
|  |   HiLink asnFieldOption	Type | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "asn" | ||
|  | 
 | ||
|  | " vim: ts=8 |