Tizen 2.0 Release
[external/vim.git] / runtime / syntax / slpconf.vim
1 " Vim syntax file
2 " Language:         RFC 2614 - An API for Service Location configuration 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 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