xref: /vim-8.2.3635/runtime/syntax/slpreg.vim (revision 214641f7)
10dc065eeSBram Moolenaar" Vim syntax file
20dc065eeSBram Moolenaar" Language:             RFC 2614 - An API for Service Location registration file
3*214641f7SBram Moolenaar" Previous Maintainer:  Nikolai Weibull <[email protected]>
457657d85SBram Moolenaar" Latest Revision:      2006-04-19
50dc065eeSBram Moolenaar
60dc065eeSBram Moolenaarif exists("b:current_syntax")
70dc065eeSBram Moolenaar  finish
80dc065eeSBram Moolenaarendif
90dc065eeSBram Moolenaar
100dc065eeSBram Moolenaarlet s:cpo_save = &cpo
110dc065eeSBram Moolenaarset cpo&vim
120dc065eeSBram Moolenaar
130dc065eeSBram Moolenaarsyn keyword slpregTodo          contained TODO FIXME XXX NOTE
140dc065eeSBram Moolenaar
150dc065eeSBram Moolenaarsyn region  slpregComment       display oneline start='^[#;]' end='$'
160dc065eeSBram Moolenaar                                \ contains=slpregTodo,@Spell
170dc065eeSBram Moolenaar
180dc065eeSBram Moolenaarsyn match   slpregBegin         display '^'
190dc065eeSBram Moolenaar                                \ nextgroup=slpregServiceURL,
200dc065eeSBram Moolenaar                                \ slpregComment
210dc065eeSBram Moolenaar
220dc065eeSBram Moolenaarsyn match   slpregServiceURL    contained display 'service:'
230dc065eeSBram Moolenaar                                \ nextgroup=slpregServiceType
240dc065eeSBram Moolenaar
250dc065eeSBram Moolenaarsyn match   slpregServiceType   contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\='
260dc065eeSBram Moolenaar                                \ nextgroup=slpregServiceSAPCol
270dc065eeSBram Moolenaar
280dc065eeSBram Moolenaarsyn match   slpregServiceSAPCol contained display ':'
290dc065eeSBram Moolenaar                                \ nextgroup=slpregSAP
300dc065eeSBram Moolenaar
310dc065eeSBram Moolenaarsyn match   slpregSAP           contained '[^,]\+'
320dc065eeSBram Moolenaar                                \ nextgroup=slpregLangSep
330dc065eeSBram Moolenaar"syn match   slpregSAP           contained display '\%(//\%(\%([[:alpha:][:digit:]$-_.~!*\'(),+;&=]*@\)\=\%([[:alnum:]][[:alnum:]-]*[[:alnum:]]\|[[:alnum:]]\.\)*\%(\a[[:alnum:]-]*[[:alnum:]]\|\a\)\%(:\d\+\)\=\)\=\|/at/\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}:\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\|/ipx/\x\{8}:\x\{12}:\x\{4}\)\%(/\%([[:alpha:][:digit:]$-_.~!*\'()+;?:@&=+]\|\\\x\x\)*\)*\%(;[^()\\!<=>~[:cntrl:]* \t_]\+\%(=[^()\\!<=>~[:cntrl:] ]\+\)\=\)*'
340dc065eeSBram Moolenaar
350dc065eeSBram Moolenaarsyn match   slpregLangSep       contained display ','
360dc065eeSBram Moolenaar                                \ nextgroup=slpregLang
370dc065eeSBram Moolenaar
380dc065eeSBram Moolenaarsyn match   slpregLang          contained display '\a\{1,8}\%(-\a\{1,8\}\)\='
390dc065eeSBram Moolenaar                                \ nextgroup=slpregLTimeSep
400dc065eeSBram Moolenaar
410dc065eeSBram Moolenaarsyn match   slpregLTimeSep      contained display ','
420dc065eeSBram Moolenaar                                \ nextgroup=slpregLTime
430dc065eeSBram Moolenaar
440dc065eeSBram Moolenaarsyn match   slpregLTime         contained display '\d\{1,5}'
450dc065eeSBram Moolenaar                                \ nextgroup=slpregType,slpregUNewline
460dc065eeSBram Moolenaar
470dc065eeSBram Moolenaarsyn match   slpregType          contained display '\a[[:alpha:][:digit:]+-]*'
480dc065eeSBram Moolenaar                                \ nextgroup=slpregUNewLine
490dc065eeSBram Moolenaar
500dc065eeSBram Moolenaarsyn match   slpregUNewLine      contained '\s*\n'
510dc065eeSBram Moolenaar                                \ nextgroup=slpregScopes,slpregAttrList skipnl
520dc065eeSBram Moolenaar
530dc065eeSBram Moolenaarsyn keyword slpregScopes        contained scopes
540dc065eeSBram Moolenaar                                \ nextgroup=slpregScopesEq
550dc065eeSBram Moolenaar
560dc065eeSBram Moolenaarsyn match   slpregScopesEq      contained '=' nextgroup=slpregScopeName
570dc065eeSBram Moolenaar
580dc065eeSBram Moolenaarsyn match   slpregScopeName     contained '[^(),\\!<=>[:cntrl:];*+ ]\+'
590dc065eeSBram Moolenaar                                \ nextgroup=slpregScopeNameSep,
600dc065eeSBram Moolenaar                                \ slpregScopeNewline
610dc065eeSBram Moolenaar
620dc065eeSBram Moolenaarsyn match   slpregScopeNameSep  contained ','
630dc065eeSBram Moolenaar                                \ nextgroup=slpregScopeName
640dc065eeSBram Moolenaar
650dc065eeSBram Moolenaarsyn match   slpregScopeNewline  contained '\s*\n'
660dc065eeSBram Moolenaar                                \ nextgroup=slpregAttribute skipnl
670dc065eeSBram Moolenaar
680dc065eeSBram Moolenaarsyn match   slpregAttribute     contained '[^(),\\!<=>[:cntrl:]* \t_]\+'
690dc065eeSBram Moolenaar                                \ nextgroup=slpregAttributeEq,
700dc065eeSBram Moolenaar                                \ slpregScopeNewline
710dc065eeSBram Moolenaar
720dc065eeSBram Moolenaarsyn match   slpregAttributeEq   contained '='
730dc065eeSBram Moolenaar                                \ nextgroup=@slpregAttrValue
740dc065eeSBram Moolenaar
750dc065eeSBram Moolenaarsyn cluster slpregAttrValueCon  contains=slpregAttribute,slpregAttrValueSep
760dc065eeSBram Moolenaar
770dc065eeSBram Moolenaarsyn cluster slpregAttrValue     contains=slpregAttrIValue,slpregAttrSValue,
780dc065eeSBram Moolenaar                                \ slpregAttrBValue,slpregAttrSSValue
790dc065eeSBram Moolenaar
800dc065eeSBram Moolenaarsyn match   slpregAttrSValue    contained display '[^(),\\!<=>~[:cntrl:]]\+'
810dc065eeSBram Moolenaar                                \ nextgroup=@slpregAttrValueCon skipwhite skipnl
820dc065eeSBram Moolenaar
830dc065eeSBram Moolenaarsyn match   slpregAttrSSValue   contained display '\\FF\%(\\\x\x\)\+'
840dc065eeSBram Moolenaar                                \ nextgroup=@slpregAttrValueCon skipwhite skipnl
850dc065eeSBram Moolenaar
860dc065eeSBram Moolenaarsyn match   slpregAttrIValue    contained display '[-]\=\d\+\>'
870dc065eeSBram Moolenaar                                \ nextgroup=@slpregAttrValueCon skipwhite skipnl
880dc065eeSBram Moolenaar
890dc065eeSBram Moolenaarsyn keyword slpregAttrBValue    contained true false
900dc065eeSBram Moolenaar                                \ nextgroup=@slpregAttrValueCon skipwhite skipnl
910dc065eeSBram Moolenaar
920dc065eeSBram Moolenaarsyn match   slpregAttrValueSep  contained display ','
930dc065eeSBram Moolenaar                                \ nextgroup=@slpregAttrValue skipwhite skipnl
940dc065eeSBram Moolenaar
950dc065eeSBram Moolenaarhi def link slpregTodo          Todo
960dc065eeSBram Moolenaarhi def link slpregComment       Comment
970dc065eeSBram Moolenaarhi def link slpregServiceURL    Type
980dc065eeSBram Moolenaarhi def link slpregServiceType   slpregServiceURL
990dc065eeSBram Moolenaarhi def link slpregServiceSAPCol slpregServiceURL
1000dc065eeSBram Moolenaarhi def link slpregSAP           slpregServiceURL
1010dc065eeSBram Moolenaarhi def link slpregDelimiter     Delimiter
1020dc065eeSBram Moolenaarhi def link slpregLangSep       slpregDelimiter
1030dc065eeSBram Moolenaarhi def link slpregLang          String
1040dc065eeSBram Moolenaarhi def link slpregLTimeSep      slpregDelimiter
1050dc065eeSBram Moolenaarhi def link slpregLTime         Number
1060dc065eeSBram Moolenaarhi def link slpregType          Type
1070dc065eeSBram Moolenaarhi def link slpregScopes        Identifier
1080dc065eeSBram Moolenaarhi def link slpregScopesEq      Operator
1090dc065eeSBram Moolenaarhi def link slpregScopeName     String
1100dc065eeSBram Moolenaarhi def link slpregScopeNameSep  slpregDelimiter
1110dc065eeSBram Moolenaarhi def link slpregAttribute     Identifier
1120dc065eeSBram Moolenaarhi def link slpregAttributeEq   Operator
1130dc065eeSBram Moolenaarhi def link slpregAttrSValue    String
1140dc065eeSBram Moolenaarhi def link slpregAttrSSValue   slpregAttrSValue
1150dc065eeSBram Moolenaarhi def link slpregAttrIValue    Number
1160dc065eeSBram Moolenaarhi def link slpregAttrBValue    Boolean
1170dc065eeSBram Moolenaarhi def link slpregAttrValueSep  slpregDelimiter
1180dc065eeSBram Moolenaar
1190dc065eeSBram Moolenaarlet b:current_syntax = "slpreg"
1200dc065eeSBram Moolenaar
1210dc065eeSBram Moolenaarlet &cpo = s:cpo_save
1220dc065eeSBram Moolenaarunlet s:cpo_save
123