| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | " Language:             RFC 2614 - An API for Service Location registration file | 
					
						
							|  |  |  | " Previous Maintainer:  Nikolai Weibull <now@bitwi.se> | 
					
						
							|  |  |  | " Latest Revision:      2006-04-19 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 |