home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / xinetd.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  14.2 KB  |  348 lines

  1. " Vim syntax file
  2. " Language:         xinetd.conf(5) 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 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
  348.