diff options
Diffstat (limited to 'runtime/syntax/asn.vim')
-rw-r--r-- | runtime/syntax/asn.vim | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/runtime/syntax/asn.vim b/runtime/syntax/asn.vim new file mode 100644 index 000000000..9fc3d2468 --- /dev/null +++ b/runtime/syntax/asn.vim @@ -0,0 +1,81 @@ +" 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 |