diff runtime/syntax/xinetd.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/syntax/xinetd.vim	Sat Nov 10 15:07:22 2007 +0900
@@ -0,0 +1,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