Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/vim73/syntax/xinetd.vim
blob: 9010a48a1df0bf3d85064883de5e6f37d2f54c55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
" Vim syntax file
" Language:         xinetd.conf(5) configuration file
" Maintainer:       Nikolai Weibull <now@bitwi.se>
" Latest Revision:  2006-04-19

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn keyword xinetdTodo          contained TODO FIXME XXX NOTE

syn region  xinetdComment       display oneline start='^\s*#' end='$'
                                \ contains=xinetdTodo,@Spell

syn match   xinetdService       '^\s*service\>'
                                \ nextgroup=xinetdServiceName skipwhite

syn match   xinetdServiceName   contained '\S\+'
                                \ nextgroup=xinetdServiceGroup skipwhite skipnl

syn match   xinetdDefaults      '^\s*defaults'
                                \ nextgroup=xinetdServiceGroup skipwhite skipnl

syn region  xinetdServiceGroup  contained transparent
                                \ matchgroup=xinetdServiceGroupD start='{'
                                \ matchgroup=xinetdServiceGroupD end='}'
                                \ contains=xinetdAttribute,xinetdReqAttribute,
                                \ xinetdDisable

syn keyword xinetdReqAttribute  contained user server protocol
                                \ nextgroup=xinetdStringEq skipwhite

syn keyword xinetdAttribute     contained id group bind
                                \ interface
                                \ nextgroup=xinetdStringEq skipwhite

syn match   xinetdStringEq      contained display '='
                                \ nextgroup=xinetdString skipwhite

syn match   xinetdString        contained display '\S\+'

syn keyword xinetdAttribute     contained type nextgroup=xinetdTypeEq skipwhite

syn match   xinetdTypeEq        contained display '='
                                \ nextgroup=xinetdType skipwhite

syn keyword xinetdType          contained RPC INTERNAL TCPMUX TCPMUXPLUS
                                \ UNLISTED
                                \ nextgroup=xinetdType skipwhite

syn keyword xinetdAttribute     contained flags
                                \ nextgroup=xinetdFlagsEq skipwhite

syn cluster xinetdFlagsC        contains=xinetdFlags,xinetdDeprFlags

syn match   xinetdFlagsEq       contained display '='
                                \ nextgroup=@xinetdFlagsC skipwhite

syn keyword xinetdFlags         contained INTERCEPT NORETRY IDONLY NAMEINARGS
                                \ NODELAY KEEPALIVE NOLIBWRAP SENSOR IPv4 IPv6
                                \ nextgroup=@xinetdFlagsC skipwhite

syn keyword xinetdDeprFlags     contained REUSE nextgroup=xinetdFlagsC skipwhite

syn keyword xinetdDisable       contained disable
                                \ nextgroup=xinetdBooleanEq skipwhite

syn match   xinetdBooleanEq     contained display '='
                                \ nextgroup=xinetdBoolean skipwhite

syn keyword xinetdBoolean       contained yes no

syn keyword xinetdReqAttribute  contained socket_type
                                \ nextgroup=xinetdSocketTypeEq skipwhite

syn match   xinetdSocketTypeEq  contained display '='
                                \ nextgroup=xinetdSocketType skipwhite

syn keyword xinetdSocketType    contained stream dgram raw seqpacket

syn keyword xinetdReqAttribute  contained wait
                                \ nextgroup=xinetdBooleanEq skipwhite

syn keyword xinetdAttribute     contained groups mdns
                                \ nextgroup=xinetdBooleanEq skipwhite

syn keyword xinetdAttribute     contained instances per_source rlimit_cpu
                                \ rlimit_data rlimit_rss rlimit_stack
                                \ nextgroup=xinetdUNumberEq skipwhite

syn match   xinetdUNumberEq     contained display '='
                                \ nextgroup=xinetdUnlimited,xinetdNumber
                                \ skipwhite

syn keyword xinetdUnlimited     contained UNLIMITED

syn match   xinetdNumber        contained display '\<\d\+\>'

syn keyword xinetdAttribute     contained nice
                                \ nextgroup=xinetdSignedNumEq skipwhite

syn match   xinetdSignedNumEq   contained display '='
                                \ nextgroup=xinetdSignedNumber skipwhite

syn match   xinetdSignedNumber  contained display '[+-]\=\d\+\>'

syn keyword xinetdAttribute     contained server_args
                                \ enabled
                                \ nextgroup=xinetdStringsEq skipwhite

syn match   xinetdStringsEq     contained display '='
                                \ nextgroup=xinetdStrings skipwhite

syn match   xinetdStrings       contained display '\S\+'
                                \ nextgroup=xinetdStrings skipwhite

syn keyword xinetdAttribute     contained only_from no_access passenv
                                \ nextgroup=xinetdStringsAdvEq skipwhite

syn match   xinetdStringsAdvEq  contained display '[+-]\=='
                                \ nextgroup=xinetdStrings skipwhite

syn keyword xinetdAttribute     contained access_times
                                \ nextgroup=xinetdTimeRangesEq skipwhite

syn match   xinetdTimeRangesEq  contained display '='
                                \ nextgroup=xinetdTimeRanges skipwhite

syn match   xinetdTimeRanges    contained display
                                \ '\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)-\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)'
                                \ nextgroup=xinetdTimeRanges skipwhite

syn keyword xinetdAttribute     contained log_type nextgroup=xinetdLogTypeEq
                                \ skipwhite

syn match   xinetdLogTypeEq     contained display '='
                                \ nextgroup=xinetdLogType skipwhite

syn keyword xinetdLogType       contained SYSLOG nextgroup=xinetdSyslogType
                                \ skipwhite

syn keyword xinetdLogType       contained FILE nextgroup=xinetdLogFile skipwhite

syn keyword xinetdSyslogType    contained daemon auth authpriv user mail lpr
                                \ news uucp ftp local0 local1 local2 local3
                                \ local4 local5 local6 local7
                                \ nextgroup=xinetdSyslogLevel skipwhite

syn keyword xinetdSyslogLevel   contained emerg alert crit err warning notice
                                \ info debug

syn match   xinetdLogFile       contained display '\S\+'
                                \ nextgroup=xinetdLogSoftLimit skipwhite

syn match   xinetdLogSoftLimit  contained display '\<\d\+\>'
                                \ nextgroup=xinetdLogHardLimit skipwhite

syn match   xinetdLogHardLimit  contained display '\<\d\+\>'

syn keyword xinetdAttribute     contained log_on_success
                                \ nextgroup=xinetdLogSuccessEq skipwhite

syn match   xinetdLogSuccessEq  contained display '[+-]\=='
                                \ nextgroup=xinetdLogSuccess skipwhite

syn keyword xinetdLogSuccess    contained PID HOST USERID EXIT DURATION TRAFFIC
                                \ nextgroup=xinetdLogSuccess skipwhite

syn keyword xinetdAttribute     contained log_on_failure
                                \ nextgroup=xinetdLogFailureEq skipwhite

syn match   xinetdLogFailureEq  contained display '[+-]\=='
                                \ nextgroup=xinetdLogFailure skipwhite

syn keyword xinetdLogFailure    contained HOST USERID ATTEMPT
                                \ nextgroup=xinetdLogFailure skipwhite

syn keyword xinetdReqAttribute  contained rpc_version
                                \ nextgroup=xinetdRPCVersionEq skipwhite

syn match   xinetdRPCVersionEq  contained display '='
                                \ nextgroup=xinetdRPCVersion skipwhite

syn match   xinetdRPCVersion    contained display '\d\+\%(-\d\+\)\=\>'

syn keyword xinetdReqAttribute  contained rpc_number port
                                \ nextgroup=xinetdNumberEq skipwhite

syn match   xinetdNumberEq      contained display '='
                                \ nextgroup=xinetdNumber skipwhite

syn keyword xinetdAttribute     contained env nextgroup=xinetdEnvEq skipwhite

syn match   xinetdEnvEq         contained display '+\=='
                                \ nextgroup=xinetdEnvName skipwhite

syn match   xinetdEnvName       contained display '[^=]\+'
                                \ nextgroup=xinetdEnvNameEq

syn match   xinetdEnvNameEq     contained display '=' nextgroup=xinetdEnvValue

syn match   xinetdEnvValue      contained display '\S\+'
                                \ nextgroup=xinetdEnvName skipwhite

syn keyword xinetdAttribute     contained banner banner_success banner_failure
                                \ nextgroup=xinetdPathEq skipwhite

syn keyword xinetdPPAttribute   include includedir
                                \ nextgroup=xinetdPath skipwhite

syn match   xinetdPathEq        contained display '='
                                \ nextgroup=xinetdPath skipwhite

syn match   xinetdPath          contained display '\S\+'

syn keyword xinetdAttribute     contained redirect nextgroup=xinetdRedirectEq
                                \ skipwhite

syn match   xinetdRedirectEq    contained display '='
                                \ nextgroup=xinetdRedirectIP skipwhite

syn match   xinetdRedirectIP    contained display '\S\+'
                                \ nextgroup=xinetdNumber skipwhite

syn keyword xinetdAttribute     contained cps nextgroup=xinetdCPSEq skipwhite

syn match   xinetdCPSEq         contained display '='
                                \ nextgroup=xinetdCPS skipwhite

syn match   xinetdCPS           contained display '\<\d\+\>'
                                \ nextgroup=xinetdNumber skipwhite

syn keyword xinetdAttribute     contained max_load nextgroup=xinetdFloatEq
                                \ skipwhite

syn match   xinetdFloatEq       contained display '='
                                \ nextgroup=xinetdFloat skipwhite

syn match   xinetdFloat         contained display '\d\+\.\d*\|\.\d\+'

syn keyword xinetdAttribute     contained umask nextgroup=xinetdOctalEq
                                \ skipwhite

syn match   xinetdOctalEq       contained display '='
                                \ nextgroup=xinetdOctal,xinetdOctalError
                                \ skipwhite

syn match   xinetdOctal         contained display '\<0\o\+\>'
                                \ contains=xinetdOctalZero
syn match   xinetdOctalZero     contained display '\<0'
syn match   xinetdOctalError    contained display '\<0\o*[89]\d*\>'

syn keyword xinetdAttribute     contained rlimit_as nextgroup=xinetdASEq
                                \ skipwhite

syn match   xinetdASEq          contained display '='
                                \ nextgroup=xinetdAS,xinetdUnlimited
                                \ skipwhite

syn match   xinetdAS            contained display '\d\+' nextgroup=xinetdASMult

syn match   xinetdASMult        contained display '[KM]'

syn keyword xinetdAttribute     contained deny_time nextgroup=xinetdDenyTimeEq
                                \ skipwhite

syn match   xinetdDenyTimeEq    contained display '='
                                \ nextgroup=xinetdDenyTime,xinetdNumber
                                \ skipwhite

syn keyword xinetdDenyTime      contained FOREVER NEVER

hi def link xinetdTodo          Todo
hi def link xinetdComment       Comment
hi def link xinetdService       Keyword
hi def link xinetdServiceName   String
hi def link xinetdDefaults      Keyword
hi def link xinetdServiceGroupD Delimiter
hi def link xinetdReqAttribute  Keyword
hi def link xinetdAttribute     Type
hi def link xinetdEq            Operator
hi def link xinetdStringEq      xinetdEq
hi def link xinetdString        String
hi def link xinetdTypeEq        xinetdEq
hi def link xinetdType          Identifier
hi def link xinetdFlagsEq       xinetdEq
hi def link xinetdFlags         xinetdType
hi def link xinetdDeprFlags     WarningMsg
hi def link xinetdDisable       Special
hi def link xinetdBooleanEq     xinetdEq
hi def link xinetdBoolean       Boolean
hi def link xinetdSocketTypeEq  xinetdEq
hi def link xinetdSocketType    xinetdType
hi def link xinetdUNumberEq     xinetdEq
hi def link xinetdUnlimited     Define
hi def link xinetdNumber        Number
hi def link xinetdSignedNumEq   xinetdEq
hi def link xinetdSignedNumber  xinetdNumber
hi def link xinetdStringsEq     xinetdEq
hi def link xinetdStrings       xinetdString
hi def link xinetdStringsAdvEq  xinetdEq
hi def link xinetdTimeRangesEq  xinetdEq
hi def link xinetdTimeRanges    Number
hi def link xinetdLogTypeEq     xinetdEq
hi def link xinetdLogType       Keyword
hi def link xinetdSyslogType    xinetdType
hi def link xinetdSyslogLevel   Number
hi def link xinetdLogFile       xinetdPath
hi def link xinetdLogSoftLimit  xinetdNumber
hi def link xinetdLogHardLimit  xinetdNumber
hi def link xinetdLogSuccessEq  xinetdEq
hi def link xinetdLogSuccess    xinetdType
hi def link xinetdLogFailureEq  xinetdEq
hi def link xinetdLogFailure    xinetdType
hi def link xinetdRPCVersionEq  xinetdEq
hi def link xinetdRPCVersion    xinetdNumber
hi def link xinetdNumberEq      xinetdEq
hi def link xinetdEnvEq         xinetdEq
hi def link xinetdEnvName       Identifier
hi def link xinetdEnvNameEq     xinetdEq
hi def link xinetdEnvValue      String
hi def link xinetdPPAttribute   PreProc
hi def link xinetdPathEq        xinetdEq
hi def link xinetdPath          String
hi def link xinetdRedirectEq    xinetdEq
hi def link xinetdRedirectIP    String
hi def link xinetdCPSEq         xinetdEq
hi def link xinetdCPS           xinetdNumber
hi def link xinetdFloatEq       xinetdEq
hi def link xinetdFloat         xinetdNumber
hi def link xinetdOctalEq       xinetdEq
hi def link xinetdOctal         xinetdNumber
hi def link xinetdOctalZero     PreProc
hi def link xinetdOctalError    Error
hi def link xinetdASEq          xinetdEq
hi def link xinetdAS            xinetdNumber
hi def link xinetdASMult        PreProc
hi def link xinetdDenyTimeEq    xinetdEq
hi def link xinetdDenyTime      PreProc

let b:current_syntax = "xinetd"

let &cpo = s:cpo_save
unlet s:cpo_save