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