home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: RFC 2614 - An API for Service Location registration file
- " 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
-