Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/slpreg.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: RFC 2614 - An API for Service Location registration file | |
3 " Maintainer: Nikolai Weibull <now@bitwi.se> | |
4 " Latest Revision: 2006-04-19 | |
5 | |
6 if exists("b:current_syntax") | |
7 finish | |
8 endif | |
9 | |
10 let s:cpo_save = &cpo | |
11 set cpo&vim | |
12 | |
13 syn keyword slpregTodo contained TODO FIXME XXX NOTE | |
14 | |
15 syn region slpregComment display oneline start='^[#;]' end='$' | |
16 \ contains=slpregTodo,@Spell | |
17 | |
18 syn match slpregBegin display '^' | |
19 \ nextgroup=slpregServiceURL, | |
20 \ slpregComment | |
21 | |
22 syn match slpregServiceURL contained display 'service:' | |
23 \ nextgroup=slpregServiceType | |
24 | |
25 syn match slpregServiceType contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\=' | |
26 \ nextgroup=slpregServiceSAPCol | |
27 | |
28 syn match slpregServiceSAPCol contained display ':' | |
29 \ nextgroup=slpregSAP | |
30 | |
31 syn match slpregSAP contained '[^,]\+' | |
32 \ nextgroup=slpregLangSep | |
33 "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:] ]\+\)\=\)*' | |
34 | |
35 syn match slpregLangSep contained display ',' | |
36 \ nextgroup=slpregLang | |
37 | |
38 syn match slpregLang contained display '\a\{1,8}\%(-\a\{1,8\}\)\=' | |
39 \ nextgroup=slpregLTimeSep | |
40 | |
41 syn match slpregLTimeSep contained display ',' | |
42 \ nextgroup=slpregLTime | |
43 | |
44 syn match slpregLTime contained display '\d\{1,5}' | |
45 \ nextgroup=slpregType,slpregUNewline | |
46 | |
47 syn match slpregType contained display '\a[[:alpha:][:digit:]+-]*' | |
48 \ nextgroup=slpregUNewLine | |
49 | |
50 syn match slpregUNewLine contained '\s*\n' | |
51 \ nextgroup=slpregScopes,slpregAttrList skipnl | |
52 | |
53 syn keyword slpregScopes contained scopes | |
54 \ nextgroup=slpregScopesEq | |
55 | |
56 syn match slpregScopesEq contained '=' nextgroup=slpregScopeName | |
57 | |
58 syn match slpregScopeName contained '[^(),\\!<=>[:cntrl:];*+ ]\+' | |
59 \ nextgroup=slpregScopeNameSep, | |
60 \ slpregScopeNewline | |
61 | |
62 syn match slpregScopeNameSep contained ',' | |
63 \ nextgroup=slpregScopeName | |
64 | |
65 syn match slpregScopeNewline contained '\s*\n' | |
66 \ nextgroup=slpregAttribute skipnl | |
67 | |
68 syn match slpregAttribute contained '[^(),\\!<=>[:cntrl:]* \t_]\+' | |
69 \ nextgroup=slpregAttributeEq, | |
70 \ slpregScopeNewline | |
71 | |
72 syn match slpregAttributeEq contained '=' | |
73 \ nextgroup=@slpregAttrValue | |
74 | |
75 syn cluster slpregAttrValueCon contains=slpregAttribute,slpregAttrValueSep | |
76 | |
77 syn cluster slpregAttrValue contains=slpregAttrIValue,slpregAttrSValue, | |
78 \ slpregAttrBValue,slpregAttrSSValue | |
79 | |
80 syn match slpregAttrSValue contained display '[^(),\\!<=>~[:cntrl:]]\+' | |
81 \ nextgroup=@slpregAttrValueCon skipwhite skipnl | |
82 | |
83 syn match slpregAttrSSValue contained display '\\FF\%(\\\x\x\)\+' | |
84 \ nextgroup=@slpregAttrValueCon skipwhite skipnl | |
85 | |
86 syn match slpregAttrIValue contained display '[-]\=\d\+\>' | |
87 \ nextgroup=@slpregAttrValueCon skipwhite skipnl | |
88 | |
89 syn keyword slpregAttrBValue contained true false | |
90 \ nextgroup=@slpregAttrValueCon skipwhite skipnl | |
91 | |
92 syn match slpregAttrValueSep contained display ',' | |
93 \ nextgroup=@slpregAttrValue skipwhite skipnl | |
94 | |
95 hi def link slpregTodo Todo | |
96 hi def link slpregComment Comment | |
97 hi def link slpregServiceURL Type | |
98 hi def link slpregServiceType slpregServiceURL | |
99 hi def link slpregServiceSAPCol slpregServiceURL | |
100 hi def link slpregSAP slpregServiceURL | |
101 hi def link slpregDelimiter Delimiter | |
102 hi def link slpregLangSep slpregDelimiter | |
103 hi def link slpregLang String | |
104 hi def link slpregLTimeSep slpregDelimiter | |
105 hi def link slpregLTime Number | |
106 hi def link slpregType Type | |
107 hi def link slpregScopes Identifier | |
108 hi def link slpregScopesEq Operator | |
109 hi def link slpregScopeName String | |
110 hi def link slpregScopeNameSep slpregDelimiter | |
111 hi def link slpregAttribute Identifier | |
112 hi def link slpregAttributeEq Operator | |
113 hi def link slpregAttrSValue String | |
114 hi def link slpregAttrSSValue slpregAttrSValue | |
115 hi def link slpregAttrIValue Number | |
116 hi def link slpregAttrBValue Boolean | |
117 hi def link slpregAttrValueSep slpregDelimiter | |
118 | |
119 let b:current_syntax = "slpreg" | |
120 | |
121 let &cpo = s:cpo_save | |
122 unlet s:cpo_save |