1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: ASN.1 3071d4279SBram Moolenaar" Maintainer: Claudio Fleiner <[email protected]> 4071d4279SBram Moolenaar" URL: http://www.fleiner.com/vim/syntax/asn.vim 50c5fa7d7SBram Moolenaar" Last Change: 2012 Oct 05 6071d4279SBram Moolenaar 789bcfda6SBram Moolenaar" quit when a syntax file was already loaded 889bcfda6SBram Moolenaarif exists("b:current_syntax") 9071d4279SBram Moolenaar finish 10071d4279SBram Moolenaarendif 11071d4279SBram Moolenaar 120c5fa7d7SBram Moolenaarlet s:cpo_save = &cpo 130c5fa7d7SBram Moolenaarset cpo&vim 140c5fa7d7SBram Moolenaar 15071d4279SBram Moolenaar" keyword definitions 16071d4279SBram Moolenaarsyn keyword asnExternal DEFINITIONS BEGIN END IMPORTS EXPORTS FROM 17071d4279SBram Moolenaarsyn match asnExternal "\<IMPLICIT\s\+TAGS\>" 18071d4279SBram Moolenaarsyn match asnExternal "\<EXPLICIT\s\+TAGS\>" 19071d4279SBram Moolenaarsyn keyword asnFieldOption DEFAULT OPTIONAL 20071d4279SBram Moolenaarsyn keyword asnTagModifier IMPLICIT EXPLICIT 21071d4279SBram Moolenaarsyn keyword asnTypeInfo ABSENT PRESENT SIZE UNIVERSAL APPLICATION PRIVATE 22071d4279SBram Moolenaarsyn keyword asnBoolValue TRUE FALSE 23071d4279SBram Moolenaarsyn keyword asnNumber MIN MAX 24071d4279SBram Moolenaarsyn match asnNumber "\<PLUS-INFINITY\>" 25071d4279SBram Moolenaarsyn match asnNumber "\<MINUS-INFINITY\>" 26071d4279SBram Moolenaarsyn keyword asnType INTEGER REAL STRING BIT BOOLEAN OCTET NULL EMBEDDED PDV 27071d4279SBram Moolenaarsyn keyword asnType BMPString IA5String TeletexString GeneralString GraphicString ISO646String NumericString PrintableString T61String UniversalString VideotexString VisibleString 28071d4279SBram Moolenaarsyn keyword asnType ANY DEFINED 29071d4279SBram Moolenaarsyn match asnType "\.\.\." 30071d4279SBram Moolenaarsyn match asnType "OBJECT\s\+IDENTIFIER" 31071d4279SBram Moolenaarsyn match asnType "TYPE-IDENTIFIER" 32071d4279SBram Moolenaarsyn keyword asnType UTF8String 33071d4279SBram Moolenaarsyn keyword asnStructure CHOICE SEQUENCE SET OF ENUMERATED CONSTRAINED BY WITH COMPONENTS CLASS 34071d4279SBram Moolenaar 35071d4279SBram Moolenaar" Strings and constants 36071d4279SBram Moolenaarsyn match asnSpecial contained "\\\d\d\d\|\\." 37071d4279SBram Moolenaarsyn region asnString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=asnSpecial 38071d4279SBram Moolenaarsyn match asnCharacter "'[^\\]'" 39071d4279SBram Moolenaarsyn match asnSpecialCharacter "'\\.'" 40071d4279SBram Moolenaarsyn match asnNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" 41071d4279SBram Moolenaarsyn match asnLineComment "--.*" 42071d4279SBram Moolenaarsyn match asnLineComment "--.*--" 43071d4279SBram Moolenaar 44071d4279SBram Moolenaarsyn match asnDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 contains=asnType 45071d4279SBram Moolenaarsyn match asnBraces "[{}]" 46071d4279SBram Moolenaar 47071d4279SBram Moolenaarsyn sync ccomment asnComment 48071d4279SBram Moolenaar 49071d4279SBram Moolenaar" Define the default highlighting. 5089bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 51*f37506f6SBram Moolenaarhi def link asnDefinition Function 52*f37506f6SBram Moolenaarhi def link asnBraces Function 53*f37506f6SBram Moolenaarhi def link asnStructure Statement 54*f37506f6SBram Moolenaarhi def link asnBoolValue Boolean 55*f37506f6SBram Moolenaarhi def link asnSpecial Special 56*f37506f6SBram Moolenaarhi def link asnString String 57*f37506f6SBram Moolenaarhi def link asnCharacter Character 58*f37506f6SBram Moolenaarhi def link asnSpecialCharacter asnSpecial 59*f37506f6SBram Moolenaarhi def link asnNumber asnValue 60*f37506f6SBram Moolenaarhi def link asnComment Comment 61*f37506f6SBram Moolenaarhi def link asnLineComment asnComment 62*f37506f6SBram Moolenaarhi def link asnType Type 63*f37506f6SBram Moolenaarhi def link asnTypeInfo PreProc 64*f37506f6SBram Moolenaarhi def link asnValue Number 65*f37506f6SBram Moolenaarhi def link asnExternal Include 66*f37506f6SBram Moolenaarhi def link asnTagModifier Function 67*f37506f6SBram Moolenaarhi def link asnFieldOption Type 68071d4279SBram Moolenaar 690c5fa7d7SBram Moolenaarlet &cpo = s:cpo_save 700c5fa7d7SBram Moolenaarunlet s:cpo_save 71071d4279SBram Moolenaarlet b:current_syntax = "asn" 72071d4279SBram Moolenaar 73071d4279SBram Moolenaar" vim: ts=8 74