123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- " Vim syntax file
- " Language: RFC 2614 - An API for Service Location registration file
- " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
- " Latest Revision: 2006-04-19
- if exists("b:current_syntax")
- finish
- endif
- let s:cpo_save = &cpo
- set cpo&vim
- syn keyword slpregTodo contained TODO FIXME XXX NOTE
- syn region slpregComment display oneline start='^[#;]' end='$'
- \ contains=slpregTodo,@Spell
- syn match slpregBegin display '^'
- \ nextgroup=slpregServiceURL,
- \ slpregComment
- syn match slpregServiceURL contained display 'service:'
- \ nextgroup=slpregServiceType
- syn match slpregServiceType contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\='
- \ nextgroup=slpregServiceSAPCol
- syn match slpregServiceSAPCol contained display ':'
- \ nextgroup=slpregSAP
- syn match slpregSAP contained '[^,]\+'
- \ nextgroup=slpregLangSep
- "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:] ]\+\)\=\)*'
- syn match slpregLangSep contained display ','
- \ nextgroup=slpregLang
- syn match slpregLang contained display '\a\{1,8}\%(-\a\{1,8\}\)\='
- \ nextgroup=slpregLTimeSep
- syn match slpregLTimeSep contained display ','
- \ nextgroup=slpregLTime
- syn match slpregLTime contained display '\d\{1,5}'
- \ nextgroup=slpregType,slpregUNewline
- syn match slpregType contained display '\a[[:alpha:][:digit:]+-]*'
- \ nextgroup=slpregUNewLine
- syn match slpregUNewLine contained '\s*\n'
- \ nextgroup=slpregScopes,slpregAttrList skipnl
- syn keyword slpregScopes contained scopes
- \ nextgroup=slpregScopesEq
- syn match slpregScopesEq contained '=' nextgroup=slpregScopeName
- syn match slpregScopeName contained '[^(),\\!<=>[:cntrl:];*+ ]\+'
- \ nextgroup=slpregScopeNameSep,
- \ slpregScopeNewline
- syn match slpregScopeNameSep contained ','
- \ nextgroup=slpregScopeName
- syn match slpregScopeNewline contained '\s*\n'
- \ nextgroup=slpregAttribute skipnl
- syn match slpregAttribute contained '[^(),\\!<=>[:cntrl:]* \t_]\+'
- \ nextgroup=slpregAttributeEq,
- \ slpregScopeNewline
- syn match slpregAttributeEq contained '='
- \ nextgroup=@slpregAttrValue
- syn cluster slpregAttrValueCon contains=slpregAttribute,slpregAttrValueSep
- syn cluster slpregAttrValue contains=slpregAttrIValue,slpregAttrSValue,
- \ slpregAttrBValue,slpregAttrSSValue
- syn match slpregAttrSValue contained display '[^(),\\!<=>~[:cntrl:]]\+'
- \ nextgroup=@slpregAttrValueCon skipwhite skipnl
- syn match slpregAttrSSValue contained display '\\FF\%(\\\x\x\)\+'
- \ nextgroup=@slpregAttrValueCon skipwhite skipnl
- syn match slpregAttrIValue contained display '[-]\=\d\+\>'
- \ nextgroup=@slpregAttrValueCon skipwhite skipnl
- syn keyword slpregAttrBValue contained true false
- \ nextgroup=@slpregAttrValueCon skipwhite skipnl
- syn match slpregAttrValueSep contained display ','
- \ nextgroup=@slpregAttrValue skipwhite skipnl
- hi def link slpregTodo Todo
- hi def link slpregComment Comment
- hi def link slpregServiceURL Type
- hi def link slpregServiceType slpregServiceURL
- hi def link slpregServiceSAPCol slpregServiceURL
- hi def link slpregSAP slpregServiceURL
- hi def link slpregDelimiter Delimiter
- hi def link slpregLangSep slpregDelimiter
- hi def link slpregLang String
- hi def link slpregLTimeSep slpregDelimiter
- hi def link slpregLTime Number
- hi def link slpregType Type
- hi def link slpregScopes Identifier
- hi def link slpregScopesEq Operator
- hi def link slpregScopeName String
- hi def link slpregScopeNameSep slpregDelimiter
- hi def link slpregAttribute Identifier
- hi def link slpregAttributeEq Operator
- hi def link slpregAttrSValue String
- hi def link slpregAttrSSValue slpregAttrSValue
- hi def link slpregAttrIValue Number
- hi def link slpregAttrBValue Boolean
- hi def link slpregAttrValueSep slpregDelimiter
- let b:current_syntax = "slpreg"
- let &cpo = s:cpo_save
- unlet s:cpo_save
|