375
|
1 " Vim syntax file
|
|
2 " Language: xinetd.conf(5) configuration file
|
839
|
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
4 " Latest Revision: 2006-04-19
|
375
|
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 xinetdTodo contained TODO FIXME XXX NOTE
|
|
14
|
|
15 syn region xinetdComment display oneline start='^\s*#' end='$'
|
|
16 \ contains=xinetdTodo,@Spell
|
|
17
|
|
18 syn match xinetdService '^\s*service\>'
|
|
19 \ nextgroup=xinetdServiceName skipwhite
|
|
20
|
|
21 syn match xinetdServiceName contained '\S\+'
|
|
22 \ nextgroup=xinetdServiceGroup skipwhite skipnl
|
|
23
|
|
24 syn match xinetdDefaults '^\s*defaults'
|
|
25 \ nextgroup=xinetdServiceGroup skipwhite skipnl
|
|
26
|
|
27 syn region xinetdServiceGroup contained transparent
|
|
28 \ matchgroup=xinetdServiceGroupD start='{'
|
|
29 \ matchgroup=xinetdServiceGroupD end='}'
|
|
30 \ contains=xinetdAttribute,xinetdReqAttribute,
|
|
31 \ xinetdDisable
|
|
32
|
|
33 syn keyword xinetdReqAttribute contained user server protocol
|
|
34 \ nextgroup=xinetdStringEq skipwhite
|
|
35
|
|
36 syn keyword xinetdAttribute contained id group bind
|
|
37 \ interface
|
|
38 \ nextgroup=xinetdStringEq skipwhite
|
|
39
|
|
40 syn match xinetdStringEq contained display '='
|
|
41 \ nextgroup=xinetdString skipwhite
|
|
42
|
|
43 syn match xinetdString contained display '\S\+'
|
|
44
|
|
45 syn keyword xinetdAttribute contained type nextgroup=xinetdTypeEq skipwhite
|
|
46
|
|
47 syn match xinetdTypeEq contained display '='
|
|
48 \ nextgroup=xinetdType skipwhite
|
|
49
|
|
50 syn keyword xinetdType contained RPC INTERNAL TCPMUX TCPMUXPLUS
|
|
51 \ UNLISTED
|
|
52 \ nextgroup=xinetdType skipwhite
|
|
53
|
|
54 syn keyword xinetdAttribute contained flags
|
|
55 \ nextgroup=xinetdFlagsEq skipwhite
|
|
56
|
|
57 syn cluster xinetdFlagsC contains=xinetdFlags,xinetdDeprFlags
|
|
58
|
|
59 syn match xinetdFlagsEq contained display '='
|
|
60 \ nextgroup=@xinetdFlagsC skipwhite
|
|
61
|
|
62 syn keyword xinetdFlags contained INTERCEPT NORETRY IDONLY NAMEINARGS
|
|
63 \ NODELAY KEEPALIVE NOLIBWRAP SENSOR IPv4 IPv6
|
|
64 \ nextgroup=@xinetdFlagsC skipwhite
|
|
65
|
|
66 syn keyword xinetdDeprFlags contained REUSE nextgroup=xinetdFlagsC skipwhite
|
|
67
|
|
68 syn keyword xinetdDisable contained disable
|
|
69 \ nextgroup=xinetdBooleanEq skipwhite
|
|
70
|
|
71 syn match xinetdBooleanEq contained display '='
|
|
72 \ nextgroup=xinetdBoolean skipwhite
|
|
73
|
|
74 syn keyword xinetdBoolean contained yes no
|
|
75
|
|
76 syn keyword xinetdReqAttribute contained socket_type
|
|
77 \ nextgroup=xinetdSocketTypeEq skipwhite
|
|
78
|
|
79 syn match xinetdSocketTypeEq contained display '='
|
|
80 \ nextgroup=xinetdSocketType skipwhite
|
|
81
|
|
82 syn keyword xinetdSocketType contained stream dgram raw seqpacket
|
|
83
|
|
84 syn keyword xinetdReqAttribute contained wait
|
|
85 \ nextgroup=xinetdBooleanEq skipwhite
|
|
86
|
|
87 syn keyword xinetdAttribute contained groups mdns
|
|
88 \ nextgroup=xinetdBooleanEq skipwhite
|
|
89
|
|
90 syn keyword xinetdAttribute contained instances per_source rlimit_cpu
|
|
91 \ rlimit_data rlimit_rss rlimit_stack
|
|
92 \ nextgroup=xinetdUNumberEq skipwhite
|
|
93
|
|
94 syn match xinetdUNumberEq contained display '='
|
|
95 \ nextgroup=xinetdUnlimited,xinetdNumber
|
|
96 \ skipwhite
|
|
97
|
|
98 syn keyword xinetdUnlimited contained UNLIMITED
|
|
99
|
|
100 syn match xinetdNumber contained display '\<\d\+\>'
|
|
101
|
|
102 syn keyword xinetdAttribute contained nice
|
|
103 \ nextgroup=xinetdSignedNumEq skipwhite
|
|
104
|
|
105 syn match xinetdSignedNumEq contained display '='
|
|
106 \ nextgroup=xinetdSignedNumber skipwhite
|
|
107
|
|
108 syn match xinetdSignedNumber contained display '[+-]\=\d\+\>'
|
|
109
|
|
110 syn keyword xinetdAttribute contained server_args
|
|
111 \ enabled
|
|
112 \ nextgroup=xinetdStringsEq skipwhite
|
|
113
|
|
114 syn match xinetdStringsEq contained display '='
|
|
115 \ nextgroup=xinetdStrings skipwhite
|
|
116
|
|
117 syn match xinetdStrings contained display '\S\+'
|
|
118 \ nextgroup=xinetdStrings skipwhite
|
|
119
|
|
120 syn keyword xinetdAttribute contained only_from no_access passenv
|
|
121 \ nextgroup=xinetdStringsAdvEq skipwhite
|
|
122
|
|
123 syn match xinetdStringsAdvEq contained display '[+-]\=='
|
|
124 \ nextgroup=xinetdStrings skipwhite
|
|
125
|
|
126 syn keyword xinetdAttribute contained access_times
|
|
127 \ nextgroup=xinetdTimeRangesEq skipwhite
|
|
128
|
|
129 syn match xinetdTimeRangesEq contained display '='
|
|
130 \ nextgroup=xinetdTimeRanges skipwhite
|
|
131
|
|
132 syn match xinetdTimeRanges contained display
|
|
133 \ '\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)-\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)'
|
|
134 \ nextgroup=xinetdTimeRanges skipwhite
|
|
135
|
|
136 syn keyword xinetdAttribute contained log_type nextgroup=xinetdLogTypeEq
|
|
137 \ skipwhite
|
|
138
|
|
139 syn match xinetdLogTypeEq contained display '='
|
|
140 \ nextgroup=xinetdLogType skipwhite
|
|
141
|
|
142 syn keyword xinetdLogType contained SYSLOG nextgroup=xinetdSyslogType
|
|
143 \ skipwhite
|
|
144
|
|
145 syn keyword xinetdLogType contained FILE nextgroup=xinetdLogFile skipwhite
|
|
146
|
|
147 syn keyword xinetdSyslogType contained daemon auth authpriv user mail lpr
|
|
148 \ news uucp ftp local0 local1 local2 local3
|
|
149 \ local4 local5 local6 local7
|
|
150 \ nextgroup=xinetdSyslogLevel skipwhite
|
|
151
|
|
152 syn keyword xinetdSyslogLevel contained emerg alert crit err warning notice
|
|
153 \ info debug
|
|
154
|
|
155 syn match xinetdLogFile contained display '\S\+'
|
|
156 \ nextgroup=xinetdLogSoftLimit skipwhite
|
|
157
|
|
158 syn match xinetdLogSoftLimit contained display '\<\d\+\>'
|
|
159 \ nextgroup=xinetdLogHardLimit skipwhite
|
|
160
|
|
161 syn match xinetdLogHardLimit contained display '\<\d\+\>'
|
|
162
|
|
163 syn keyword xinetdAttribute contained log_on_success
|
|
164 \ nextgroup=xinetdLogSuccessEq skipwhite
|
|
165
|
|
166 syn match xinetdLogSuccessEq contained display '[+-]\=='
|
|
167 \ nextgroup=xinetdLogSuccess skipwhite
|
|
168
|
|
169 syn keyword xinetdLogSuccess contained PID HOST USERID EXIT DURATION TRAFFIC
|
|
170 \ nextgroup=xinetdLogSuccess skipwhite
|
|
171
|
|
172 syn keyword xinetdAttribute contained log_on_failure
|
|
173 \ nextgroup=xinetdLogFailureEq skipwhite
|
|
174
|
|
175 syn match xinetdLogFailureEq contained display '[+-]\=='
|
|
176 \ nextgroup=xinetdLogFailure skipwhite
|
|
177
|
|
178 syn keyword xinetdLogFailure contained HOST USERID ATTEMPT
|
|
179 \ nextgroup=xinetdLogFailure skipwhite
|
|
180
|
|
181 syn keyword xinetdReqAttribute contained rpc_version
|
|
182 \ nextgroup=xinetdRPCVersionEq skipwhite
|
|
183
|
|
184 syn match xinetdRPCVersionEq contained display '='
|
|
185 \ nextgroup=xinetdRPCVersion skipwhite
|
|
186
|
|
187 syn match xinetdRPCVersion contained display '\d\+\%(-\d\+\)\=\>'
|
|
188
|
|
189 syn keyword xinetdReqAttribute contained rpc_number port
|
|
190 \ nextgroup=xinetdNumberEq skipwhite
|
|
191
|
|
192 syn match xinetdNumberEq contained display '='
|
|
193 \ nextgroup=xinetdNumber skipwhite
|
|
194
|
|
195 syn keyword xinetdAttribute contained env nextgroup=xinetdEnvEq skipwhite
|
|
196
|
|
197 syn match xinetdEnvEq contained display '+\=='
|
|
198 \ nextgroup=xinetdEnvName skipwhite
|
|
199
|
|
200 syn match xinetdEnvName contained display '[^=]\+'
|
|
201 \ nextgroup=xinetdEnvNameEq
|
|
202
|
|
203 syn match xinetdEnvNameEq contained display '=' nextgroup=xinetdEnvValue
|
|
204
|
|
205 syn match xinetdEnvValue contained display '\S\+'
|
|
206 \ nextgroup=xinetdEnvName skipwhite
|
|
207
|
|
208 syn keyword xinetdAttribute contained banner banner_success banner_failure
|
|
209 \ nextgroup=xinetdPathEq skipwhite
|
|
210
|
|
211 syn keyword xinetdPPAttribute include includedir
|
|
212 \ nextgroup=xinetdPath skipwhite
|
|
213
|
|
214 syn match xinetdPathEq contained display '='
|
|
215 \ nextgroup=xinetdPath skipwhite
|
|
216
|
|
217 syn match xinetdPath contained display '\S\+'
|
|
218
|
|
219 syn keyword xinetdAttribute contained redirect nextgroup=xinetdRedirectEq
|
|
220 \ skipwhite
|
|
221
|
|
222 syn match xinetdRedirectEq contained display '='
|
|
223 \ nextgroup=xinetdRedirectIP skipwhite
|
|
224
|
|
225 syn match xinetdRedirectIP contained display '\S\+'
|
|
226 \ nextgroup=xinetdNumber skipwhite
|
|
227
|
|
228 syn keyword xinetdAttribute contained cps nextgroup=xinetdCPSEq skipwhite
|
|
229
|
|
230 syn match xinetdCPSEq contained display '='
|
|
231 \ nextgroup=xinetdCPS skipwhite
|
|
232
|
|
233 syn match xinetdCPS contained display '\<\d\+\>'
|
|
234 \ nextgroup=xinetdNumber skipwhite
|
|
235
|
|
236 syn keyword xinetdAttribute contained max_load nextgroup=xinetdFloatEq
|
|
237 \ skipwhite
|
|
238
|
|
239 syn match xinetdFloatEq contained display '='
|
|
240 \ nextgroup=xinetdFloat skipwhite
|
|
241
|
|
242 syn match xinetdFloat contained display '\d\+\.\d*\|\.\d\+'
|
|
243
|
|
244 syn keyword xinetdAttribute contained umask nextgroup=xinetdOctalEq
|
|
245 \ skipwhite
|
|
246
|
|
247 syn match xinetdOctalEq contained display '='
|
|
248 \ nextgroup=xinetdOctal,xinetdOctalError
|
|
249 \ skipwhite
|
|
250
|
|
251 syn match xinetdOctal contained display '\<0\o\+\>'
|
|
252 \ contains=xinetdOctalZero
|
|
253 syn match xinetdOctalZero contained display '\<0'
|
|
254 syn match xinetdOctalError contained display '\<0\o*[89]\d*\>'
|
|
255
|
|
256 syn keyword xinetdAttribute contained rlimit_as nextgroup=xinetdASEq
|
|
257 \ skipwhite
|
|
258
|
|
259 syn match xinetdASEq contained display '='
|
|
260 \ nextgroup=xinetdAS,xinetdUnlimited
|
|
261 \ skipwhite
|
|
262
|
|
263 syn match xinetdAS contained display '\d\+' nextgroup=xinetdASMult
|
|
264
|
|
265 syn match xinetdASMult contained display '[KM]'
|
|
266
|
|
267 syn keyword xinetdAttribute contained deny_time nextgroup=xinetdDenyTimeEq
|
|
268 \ skipwhite
|
|
269
|
|
270 syn match xinetdDenyTimeEq contained display '='
|
|
271 \ nextgroup=xinetdDenyTime,xinetdNumber
|
|
272 \ skipwhite
|
|
273
|
|
274 syn keyword xinetdDenyTime contained FOREVER NEVER
|
|
275
|
|
276 hi def link xinetdTodo Todo
|
|
277 hi def link xinetdComment Comment
|
|
278 hi def link xinetdService Keyword
|
|
279 hi def link xinetdServiceName String
|
|
280 hi def link xinetdDefaults Keyword
|
|
281 hi def link xinetdServiceGroupD Delimiter
|
|
282 hi def link xinetdReqAttribute Keyword
|
|
283 hi def link xinetdAttribute Type
|
|
284 hi def link xinetdEq Operator
|
|
285 hi def link xinetdStringEq xinetdEq
|
|
286 hi def link xinetdString String
|
|
287 hi def link xinetdTypeEq xinetdEq
|
|
288 hi def link xinetdType Identifier
|
|
289 hi def link xinetdFlagsEq xinetdEq
|
|
290 hi def link xinetdFlags xinetdType
|
|
291 hi def link xinetdDeprFlags WarningMsg
|
|
292 hi def link xinetdDisable Special
|
|
293 hi def link xinetdBooleanEq xinetdEq
|
|
294 hi def link xinetdBoolean Boolean
|
|
295 hi def link xinetdSocketTypeEq xinetdEq
|
|
296 hi def link xinetdSocketType xinetdType
|
|
297 hi def link xinetdUNumberEq xinetdEq
|
|
298 hi def link xinetdUnlimited Define
|
|
299 hi def link xinetdNumber Number
|
|
300 hi def link xinetdSignedNumEq xinetdEq
|
|
301 hi def link xinetdSignedNumber xinetdNumber
|
|
302 hi def link xinetdStringsEq xinetdEq
|
|
303 hi def link xinetdStrings xinetdString
|
|
304 hi def link xinetdStringsAdvEq xinetdEq
|
|
305 hi def link xinetdTimeRangesEq xinetdEq
|
|
306 hi def link xinetdTimeRanges Number
|
|
307 hi def link xinetdLogTypeEq xinetdEq
|
|
308 hi def link xinetdLogType Keyword
|
|
309 hi def link xinetdSyslogType xinetdType
|
|
310 hi def link xinetdSyslogLevel Number
|
|
311 hi def link xinetdLogFile xinetdPath
|
|
312 hi def link xinetdLogSoftLimit xinetdNumber
|
|
313 hi def link xinetdLogHardLimit xinetdNumber
|
|
314 hi def link xinetdLogSuccessEq xinetdEq
|
|
315 hi def link xinetdLogSuccess xinetdType
|
|
316 hi def link xinetdLogFailureEq xinetdEq
|
|
317 hi def link xinetdLogFailure xinetdType
|
|
318 hi def link xinetdRPCVersionEq xinetdEq
|
|
319 hi def link xinetdRPCVersion xinetdNumber
|
|
320 hi def link xinetdNumberEq xinetdEq
|
|
321 hi def link xinetdEnvEq xinetdEq
|
|
322 hi def link xinetdEnvName Identifier
|
|
323 hi def link xinetdEnvNameEq xinetdEq
|
|
324 hi def link xinetdEnvValue String
|
|
325 hi def link xinetdPPAttribute PreProc
|
|
326 hi def link xinetdPathEq xinetdEq
|
|
327 hi def link xinetdPath String
|
|
328 hi def link xinetdRedirectEq xinetdEq
|
|
329 hi def link xinetdRedirectIP String
|
|
330 hi def link xinetdCPSEq xinetdEq
|
|
331 hi def link xinetdCPS xinetdNumber
|
|
332 hi def link xinetdFloatEq xinetdEq
|
|
333 hi def link xinetdFloat xinetdNumber
|
|
334 hi def link xinetdOctalEq xinetdEq
|
|
335 hi def link xinetdOctal xinetdNumber
|
|
336 hi def link xinetdOctalZero PreProc
|
|
337 hi def link xinetdOctalError Error
|
|
338 hi def link xinetdASEq xinetdEq
|
|
339 hi def link xinetdAS xinetdNumber
|
|
340 hi def link xinetdASMult PreProc
|
|
341 hi def link xinetdDenyTimeEq xinetdEq
|
|
342 hi def link xinetdDenyTime PreProc
|
|
343
|
|
344 let b:current_syntax = "xinetd"
|
|
345
|
|
346 let &cpo = s:cpo_save
|
|
347 unlet s:cpo_save
|