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