389
|
1 " Vim syntax file
|
|
2 " Language: RFC 2614 - An API for Service Location configuration file
|
839
|
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
4 " Latest Revision: 2006-04-19
|
389
|
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 slpconfTodo contained TODO FIXME XXX NOTE
|
|
14
|
|
15 syn region slpconfComment display oneline start='^[#;]' end='$'
|
|
16 \ contains=slpconfTodo,@Spell
|
|
17
|
|
18 syn match slpconfBegin display '^'
|
|
19 \ nextgroup=slpconfTag,
|
|
20 \ slpconfComment skipwhite
|
|
21
|
|
22 syn keyword slpconfTag contained net
|
|
23 \ nextgroup=slpconfNetTagDot
|
|
24
|
|
25 syn match slpconfNetTagDot contained display '.'
|
|
26 \ nextgroup=slpconfNetTag
|
|
27
|
|
28 syn keyword slpconfNetTag contained slp
|
|
29 \ nextgroup=slpconfNetSlpTagdot
|
|
30
|
|
31 syn match slpconfNetSlpTagDot contained display '.'
|
|
32 \ nextgroup=slpconfNetSlpTag
|
|
33
|
|
34 syn keyword slpconfNetSlpTag contained isDA traceDATraffic traceMsg
|
|
35 \ traceDrop traceReg isBroadcastOnly
|
|
36 \ passiveDADetection securityEnabled
|
|
37 \ nextgroup=slpconfBooleanEq,slpconfBooleanHome
|
|
38 \ skipwhite
|
|
39
|
|
40 syn match slpconfBooleanHome contained display
|
|
41 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
42 \ nextgroup=slpconfBooleanEq skipwhite
|
|
43
|
|
44 syn match slpconfBooleanEq contained display '='
|
|
45 \ nextgroup=slpconfBoolean skipwhite
|
|
46
|
|
47 syn keyword slpconfBoolean contained true false TRUE FALSE
|
|
48
|
|
49 syn keyword slpconfNetSlpTag contained DAHeartBeat multicastTTL
|
|
50 \ DAActiveDiscoveryInterval
|
|
51 \ multicastMaximumWait multicastTimeouts
|
|
52 \ randomWaitBound MTU maxResults
|
|
53 \ nextgroup=slpconfIntegerEq,slpconfIntegerHome
|
|
54 \ skipwhite
|
|
55
|
|
56 syn match slpconfIntegerHome contained display
|
|
57 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
58 \ nextgroup=slpconfIntegerEq skipwhite
|
|
59
|
|
60 syn match slpconfIntegerEq contained display '='
|
|
61 \ nextgroup=slpconfInteger skipwhite
|
|
62
|
|
63 syn match slpconfInteger contained display '\<\d\+\>'
|
|
64
|
|
65 syn keyword slpconfNetSlpTag contained DAAttributes SAAttributes
|
|
66 \ nextgroup=slpconfAttrEq,slpconfAttrHome
|
|
67 \ skipwhite
|
|
68
|
|
69 syn match slpconfAttrHome contained display
|
|
70 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
71 \ nextgroup=slpconfAttrEq skipwhite
|
|
72
|
|
73 syn match slpconfAttrEq contained display '='
|
|
74 \ nextgroup=slpconfAttrBegin skipwhite
|
|
75
|
|
76 syn match slpconfAttrBegin contained display '('
|
|
77 \ nextgroup=slpconfAttrTag skipwhite
|
|
78
|
|
79 syn match slpconfAttrTag contained display
|
|
80 \ '[^* \t_(),\\!<=>~[:cntrl:]]\+'
|
|
81 \ nextgroup=slpconfAttrTagEq skipwhite
|
|
82
|
|
83 syn match slpconfAttrTagEq contained display '='
|
|
84 \ nextgroup=@slpconfAttrValue skipwhite
|
|
85
|
|
86 syn cluster slpconfAttrValueCon contains=slpconfAttrValueSep,slpconfAttrEnd
|
|
87
|
|
88 syn cluster slpconfAttrValue contains=slpconfAttrIValue,slpconfAttrSValue,
|
|
89 \ slpconfAttrBValue,slpconfAttrSSValue
|
|
90
|
|
91 syn match slpconfAttrSValue contained display '[^ (),\\!<=>~[:cntrl:]]\+'
|
|
92 \ nextgroup=@slpconfAttrValueCon skipwhite
|
|
93
|
|
94 syn match slpconfAttrSSValue contained display '\\FF\%(\\\x\x\)\+'
|
|
95 \ nextgroup=@slpconfAttrValueCon skipwhite
|
|
96
|
|
97 syn match slpconfAttrIValue contained display '[-]\=\d\+\>'
|
|
98 \ nextgroup=@slpconfAttrValueCon skipwhite
|
|
99
|
|
100 syn keyword slpconfAttrBValue contained true false
|
|
101 \ nextgroup=@slpconfAttrValueCon skipwhite
|
|
102
|
|
103 syn match slpconfAttrValueSep contained display ','
|
|
104 \ nextgroup=@slpconfAttrValue skipwhite
|
|
105
|
|
106 syn match slpconfAttrEnd contained display ')'
|
|
107 \ nextgroup=slpconfAttrSep skipwhite
|
|
108
|
|
109 syn match slpconfAttrSep contained display ','
|
|
110 \ nextgroup=slpconfAttrBegin skipwhite
|
|
111
|
|
112 syn keyword slpconfNetSlpTag contained useScopes typeHint
|
|
113 \ nextgroup=slpconfStringsEq,slpconfStringsHome
|
|
114 \ skipwhite
|
|
115
|
|
116 syn match slpconfStringsHome contained display
|
|
117 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
118 \ nextgroup=slpconfStringsEq skipwhite
|
|
119
|
|
120 syn match slpconfStringsEq contained display '='
|
|
121 \ nextgroup=slpconfStrings skipwhite
|
|
122
|
|
123 syn match slpconfStrings contained display
|
|
124 \ '\%([[:digit:][:alpha:]]\|[!-+./:-@[-`{-~-]\|\\\x\x\)\+'
|
|
125 \ nextgroup=slpconfStringsSep skipwhite
|
|
126
|
|
127 syn match slpconfStringsSep contained display ','
|
|
128 \ nextgroup=slpconfStrings skipwhite
|
|
129
|
|
130 syn keyword slpconfNetSlpTag contained DAAddresses
|
|
131 \ nextgroup=slpconfAddressesEq,slpconfAddrsHome
|
|
132 \ skipwhite
|
|
133
|
|
134 syn match slpconfAddrsHome contained display
|
|
135 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
136 \ nextgroup=slpconfAddressesEq skipwhite
|
|
137
|
|
138 syn match slpconfAddressesEq contained display '='
|
|
139 \ nextgroup=@slpconfAddresses skipwhite
|
|
140
|
|
141 syn cluster slpconfAddresses contains=slpconfFQDNs,slpconfHostnumbers
|
|
142
|
|
143 syn match slpconfFQDNs contained display
|
|
144 \ '\a[[:alnum:]-]*[[:alnum:]]\|\a'
|
|
145 \ nextgroup=slpconfAddressesSep skipwhite
|
|
146
|
|
147 syn match slpconfHostnumbers contained display
|
|
148 \ '\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
149 \ nextgroup=slpconfAddressesSep skipwhite
|
|
150
|
|
151 syn match slpconfAddressesSep contained display ','
|
|
152 \ nextgroup=@slpconfAddresses skipwhite
|
|
153
|
|
154 syn keyword slpconfNetSlpTag contained serializedRegURL
|
|
155 \ nextgroup=slpconfStringEq,slpconfStringHome
|
|
156 \ skipwhite
|
|
157
|
|
158 syn match slpconfStringHome contained display
|
|
159 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
160 \ nextgroup=slpconfStringEq skipwhite
|
|
161
|
|
162 syn match slpconfStringEq contained display '='
|
|
163 \ nextgroup=slpconfString skipwhite
|
|
164
|
|
165 syn match slpconfString contained display
|
|
166 \ '\%([!-+./:-@[-`{-~-]\|\\\x\x\)\+\|[[:digit:][:alpha:]]'
|
|
167
|
|
168 syn keyword slpconfNetSlpTag contained multicastTimeouts DADiscoveryTimeouts
|
|
169 \ datagramTimeouts
|
|
170 \ nextgroup=slpconfIntegersEq,
|
|
171 \ slpconfIntegersHome skipwhite
|
|
172
|
|
173 syn match slpconfIntegersHome contained display
|
|
174 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
175 \ nextgroup=slpconfIntegersEq skipwhite
|
|
176
|
|
177 syn match slpconfIntegersEq contained display '='
|
|
178 \ nextgroup=slpconfIntegers skipwhite
|
|
179
|
|
180 syn match slpconfIntegers contained display '\<\d\+\>'
|
|
181 \ nextgroup=slpconfIntegersSep skipwhite
|
|
182
|
|
183 syn match slpconfIntegersSep contained display ','
|
|
184 \ nextgroup=slpconfIntegers skipwhite
|
|
185
|
|
186 syn keyword slpconfNetSlpTag contained interfaces
|
|
187 \ nextgroup=slpconfHostnumsEq,
|
|
188 \ slpconfHostnumsHome skipwhite
|
|
189
|
|
190 syn match slpconfHostnumsHome contained display
|
|
191 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
192 \ nextgroup=slpconfHostnumsEq skipwhite
|
|
193
|
|
194 syn match slpconfHostnumsEq contained display '='
|
|
195 \ nextgroup=slpconfOHostnumbers skipwhite
|
|
196
|
|
197 syn match slpconfOHostnumbers contained display
|
|
198 \ '\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
199 \ nextgroup=slpconfHostnumsSep skipwhite
|
|
200
|
|
201 syn match slpconfHostnumsSep contained display ','
|
|
202 \ nextgroup=slpconfOHostnumbers skipwhite
|
|
203
|
|
204 syn keyword slpconfNetSlpTag contained locale
|
|
205 \ nextgroup=slpconfLocaleEq,slpconfLocaleHome
|
|
206 \ skipwhite
|
|
207
|
|
208 syn match slpconfLocaleHome contained display
|
|
209 \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
|
|
210 \ nextgroup=slpconfLocaleEq skipwhite
|
|
211
|
|
212 syn match slpconfLocaleEq contained display '='
|
|
213 \ nextgroup=slpconfLocale skipwhite
|
|
214
|
|
215 syn match slpconfLocale contained display '\a\{1,8}\%(-\a\{1,8}\)\='
|
|
216
|
|
217 hi def link slpconfTodo Todo
|
|
218 hi def link slpconfComment Comment
|
|
219 hi def link slpconfTag Identifier
|
|
220 hi def link slpconfDelimiter Delimiter
|
|
221 hi def link slpconfNetTagDot slpconfDelimiter
|
|
222 hi def link slpconfNetTag slpconfTag
|
|
223 hi def link slpconfNetSlpTagDot slpconfNetTagDot
|
|
224 hi def link slpconfNetSlpTag slpconfTag
|
|
225 hi def link slpconfHome Special
|
|
226 hi def link slpconfBooleanHome slpconfHome
|
|
227 hi def link slpconfEq Operator
|
|
228 hi def link slpconfBooleanEq slpconfEq
|
|
229 hi def link slpconfBoolean Boolean
|
|
230 hi def link slpconfIntegerHome slpconfHome
|
|
231 hi def link slpconfIntegerEq slpconfEq
|
|
232 hi def link slpconfInteger Number
|
|
233 hi def link slpconfAttrHome slpconfHome
|
|
234 hi def link slpconfAttrEq slpconfEq
|
|
235 hi def link slpconfAttrBegin slpconfDelimiter
|
|
236 hi def link slpconfAttrTag slpconfTag
|
|
237 hi def link slpconfAttrTagEq slpconfEq
|
|
238 hi def link slpconfAttrIValue slpconfInteger
|
|
239 hi def link slpconfAttrSValue slpconfString
|
|
240 hi def link slpconfAttrBValue slpconfBoolean
|
|
241 hi def link slpconfAttrSSValue slpconfString
|
|
242 hi def link slpconfSeparator slpconfDelimiter
|
|
243 hi def link slpconfAttrValueSep slpconfSeparator
|
|
244 hi def link slpconfAttrEnd slpconfAttrBegin
|
|
245 hi def link slpconfAttrSep slpconfSeparator
|
|
246 hi def link slpconfStringsHome slpconfHome
|
|
247 hi def link slpconfStringsEq slpconfEq
|
|
248 hi def link slpconfStrings slpconfString
|
|
249 hi def link slpconfStringsSep slpconfSeparator
|
|
250 hi def link slpconfAddrsHome slpconfHome
|
|
251 hi def link slpconfAddressesEq slpconfEq
|
|
252 hi def link slpconfFQDNs String
|
|
253 hi def link slpconfHostnumbers Number
|
|
254 hi def link slpconfAddressesSep slpconfSeparator
|
|
255 hi def link slpconfStringHome slpconfHome
|
|
256 hi def link slpconfStringEq slpconfEq
|
|
257 hi def link slpconfString String
|
|
258 hi def link slpconfIntegersHome slpconfHome
|
|
259 hi def link slpconfIntegersEq slpconfEq
|
|
260 hi def link slpconfIntegers slpconfInteger
|
|
261 hi def link slpconfIntegersSep slpconfSeparator
|
|
262 hi def link slpconfHostnumsHome slpconfHome
|
|
263 hi def link slpconfHostnumsEq slpconfEq
|
|
264 hi def link slpconfOHostnumbers slpconfHostnumbers
|
|
265 hi def link slpconfHostnumsSep slpconfSeparator
|
|
266 hi def link slpconfLocaleHome slpconfHome
|
|
267 hi def link slpconfLocaleEq slpconfEq
|
|
268 hi def link slpconfLocale slpconfString
|
|
269
|
|
270 let b:current_syntax = "slpconf"
|
|
271
|
|
272 let &cpo = s:cpo_save
|
|
273 unlet s:cpo_save
|