Added diffchanges and speeddating plugins.
[profile.git] / .vim / syntax / cfengine.vim
diff --git a/.vim/syntax/cfengine.vim b/.vim/syntax/cfengine.vim
new file mode 100644 (file)
index 0000000..e039f18
--- /dev/null
@@ -0,0 +1,163 @@
+" cfengine syntax file
+" Filename:     cfengine.vim
+" Language:     cfengine configuration file 
+" Maintainer:   Lance Albertson <ramereth@gentoo.org>
+" Orginal Author: Marcus Spading <ms@fragmentum.net>
+" URL:          http://dev.gentoo.org/~ramereth/vim/syntax/cfengine.vim
+"  * The original url appears to be dead
+" Last Change:  2005 Jan 4
+" Version:      0.1 
+"  * Previous author's last version was 0.2
+"
+" cfengine action
+" action-type:
+"   compound-class::
+"       declaration
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+syn case ignore
+
+syn match   cfengineCompoundClass      "^\s*.*::\s*$"
+"syn match   cfengineAssignmentOperator "="
+syn match   cfengineLinkOperator       "[-+]>[!]\{0,1}"
+syn match   cfengineVariable           "$(.\{-})"
+syn match   cfengineVariable           "${.\{-}}"
+syn region  cfengineVariableDef matchgroup=cfengineVariable start="(\s*" end="\s*)" contains=cfengineKeyword,cfengineHelpers,cfengineActions,cfengineIPAddress,cfengineVariable
+syn match   cfengineNumber             "\<\d\+\|inf\>"
+syn match   cfengineIPAddress          "\<\d\{1,3}.\d\{1,3}.\d\{1,3}.\d\{1,3}\>"
+syn region  cfengineBlock  start="{" end="}" contains=cfengineBlock,cfengineEditAction,cfengineString,cfengineVariable
+syn region  cfengineString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline contains=cfengineVariable containedin=cfengineBlock
+syn region  cfengineString start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline contains=cfengineVariable containedin=cfengineBlock
+
+syn keyword cfengineBoolean    on off true false 
+
+syn keyword cfengineKeyword    access actionsequence addclasses addinstallable binarypaddingchar
+syn keyword cfengineKeyword    checksumdatabase checksumupdates childlibpath copylinks defaultcopytype
+syn keyword cfengineKeyword    deletenonuserfiles deletenonownerfiles deletenonusermail deletenonownermail
+syn keyword cfengineKeyword    domain dryrun editbinaryfilesize editfilesize emptyresolvconf exclamation
+syn keyword cfengineKeyword    excludecopy excludelinks expireafter homepattern ifelapsed inform interfacename
+syn keyword cfengineKeyword    fileextensions linkcopies logdirectory logtidyhomefiles moduledirectory
+syn keyword cfengineKeyword    mountpattern netmask nonalphanumfiles nfstype repchar repository schedule
+syn keyword cfengineKeyword    secureinputs sensiblecount sensiblesize showactions site faculty splaytime split 
+syn keyword cfengineKeyword    smtpserver spooldirectories suspiciousnames sysadm syslog timezone timeout 
+syn keyword cfengineKeyword    verbose warnings warnnonuserfiles warnnonownerfiles warnnonusermail warnnonownermail
+" cfservd keywords
+syn case match
+syn keyword cfengineKeyword    AllowConnectionsFrom AllowMultipleConnectionsFrom AllowUsers AutoExecCommand
+syn keyword cfengineKeyword    AutoExecInterval cfrunCommand DenyBadClocks DenyConnectionsFrom IfElapsed
+syn keyword cfengineKeyword    LogAllConnections MaxConnections TrustKeysFrom DynamicAddresses 
+syn case ignore
+
+syn keyword cfengineActions    addmounts checktimezone control copy directories disable editfiles groups files links mailcheck module import admit
+syn keyword cfengineActions    mountall mountinfo netconfig required resolve shellcommands tidy unmount processes
+
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="FileExists(" end=")"     contained oneline 
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="IsDir(" end=")"          contained oneline 
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="IsNewerThan(" end=")"    contained oneline 
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="AccessedBefore(" end=")" contained oneline
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="ChangedBefore(" end=")"  contained oneline
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="IPRange(" end=")"        contained oneline
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="IsLink(" end=")"         contained oneline
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="IsPlain(" end=")"        contained oneline
+syn region  cfengineHelpers    matchgroup=cfengineKeyword start="ReturnsZero(" end=")"    contained oneline
+
+syn keyword cfengineOption     age acl dest m[ode] o[wner] g[roup] act[ion] silent fix preserve keep backup repository stealth timestamps
+syn keyword cfengineOption     chroot chdir symlink incl[ude] excl[ude] ignore filter r[ecurse] type linktype typecheck define elsedefine
+syn keyword cfengineOption     force forcedirs forceipv4 size server trustkey encrypt verify oldserver purge syslog inform
+syn keyword cfengineOption     pat[tern] rotate flags links stop traverse tidy checksum matches dirlinks rmdirs deletedir deletefstab
+
+syn keyword cfengineOptionVal  warnall warndirs warnplain
+syn keyword cfengineOptionVal  fixall fixdirs fixplain
+syn keyword cfengineOptionVal  touch linkchildren create compress alert
+syn keyword cfengineOptionVal  stop traverse tidy md5 sha inf
+syn keyword cfengineOptionVal  hard relative absolute checksum ctime kill force
+syn keyword cfengineOptionVal  true false dump signal do warn bymatch 
+syn keyword cfengineOptionVal  empty truncate all sub
+syn keyword cfengineOptionVal  ctime mtime atime
+
+syn keyword cfengineSigVal     hup int quit ill trap iot emt fpe kill bus segv sys pipe alrm term urg stop
+syn keyword cfengineSigVal     tstp cont chld gttin gttou io xcpu xfsz vtalrm prof winch lost usr1 usr2 
+
+syn keyword cfengineEditAction AbortAtLineMatching Append contained
+syn keyword cfengineEditAction AppendIfNoSuchLine AppendIfNoLineMatching AppendToLineIfNotContains contained
+syn keyword cfengineEditAction AutoCreate AutomountDirectResources Backup contained
+syn keyword cfengineEditAction BeginGroupIfDefined BeginGroupIfNotDefined contained
+syn keyword cfengineEditAction BeginGroupIfFileExists BeginGroupIfFileIsNewer contained
+syn keyword cfengineEditAction BeginGroupIfNoLineContaining BeginGroupIfNoLineMatching BeginGroupIfNoMatch BeginGroupIfNoSuchLine contained
+syn keyword cfengineEditAction BreakIfLineMatches CatchAbort contained
+syn keyword cfengineEditAction CommentLinesMatching CommentLinesStarting CommentNLines CommentToLineMatching contained
+syn keyword cfengineEditAction DefineClasses DeleteLinesAfterThisMatching DeleteLinesContaining DeleteLinesMatching contained
+syn keyword cfengineEditAction DeleteLinesStarting DeleteNLines DeleteToLineMatching contained
+syn keyword cfengineEditAction EditMode EmptyEntireFilePlease ElseDefineClasses EndGroup EndLoop contained
+syn keyword cfengineEditAction Filter FixEndOfLines ForEachLineIn GotoLastLine contained 
+syn keyword cfengineEditAction HashCommentLinesContaining HashCommentLinesMatching HashCommentLinesStarting contained
+syn keyword cfengineEditAction IncrementPointer Inform InsertFile InsertLine LocateLineMatching contained
+syn keyword cfengineEditAction PercentCommentLinesContaining PercentCommentLinesMatching PercentCommentLinesStarting contained
+syn keyword cfengineEditAction Prepend PrependIfNoLineMatching PrependifNoSuchLine contained
+syn keyword cfengineEditAction Recurse ReplaceLineWith ReplaceAll ReplaceLinesMatchingField Repository contained
+syn keyword cfengineEditAction ResetSearch RunScript RunScriptIfLineMatching RunScriptIfNoLineMatching contained
+syn keyword cfengineEditAction SetCommentStart SetCommentEnd SetLine SetScript contained
+syn keyword cfengineEditAction SlashCommentLinesContaining SlashCommentLinesMatching SlashCommentLinesStarting contained
+syn keyword cfengineEditAction SplitOn Syslog Umask UnCommentLinesContaining UnCommentLinesMatching UnCommentNLines contained
+syn keyword cfengineEditAction UnsetAbort UseShell WarnIfLineContaining WarnIfLineMatching WarnIfLineStarting contained
+syn keyword cfengineEditAction WarnIfLineNoLineContaining WarnIfNoLineMatching WarnIfNoLineStarting WarnIfNoSuchLine contained
+syn keyword cfengineEditAction ReplaceAll WarnIfContainsString WarnIfContainsFile contained
+
+syn keyword cfengineFilter     Owner Atime Ctime Mtime FromAtime FromCtime FromMtime ToAtime ToCtime ToMtime contained
+syn keyword cfengineFilter     Type reg link dir socket fifo door char block contained
+syn keyword cfengineFilter     ExecRegex NameRegex IsSymLinkTo ExecProgram Result contained
+syn keyword cfengineFilter     PID PPID PGID RSize VSize Status Command FromTTime ToTTime FromSTime ToSTime TTY contained
+syn keyword cfengineFilter     Priority Threads contained
+
+syn keyword cfengineActionType control: files: acl: binservers: broadcast: control: copy: defaultroute:
+syn keyword cfengineActionType disks: directories: disable: editfiles: files: filters: groups: classes:
+syn keyword cfengineActionType homeservers: ignore: import: interfaces: links: mailserver: miscmounts:
+syn keyword cfengineActionType mountables: processes: required: resolve: shellcommands: tidy: unmount: 
+
+" comments last overriding everything else
+syn match   cfengineComment            "\s*#.*$" contains=cfengineTodo
+syn keyword cfengineTodo               TODO NOTE FIXME XXX contained
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_cfengine_syn_inits")
+  if version < 508
+    let did_cfengine_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  "HiLink cfengineAssignmentOperator String
+  HiLink cfengineLinkOperator       String
+  HiLink cfengineVariable           Special
+  HiLink cfengineVariableDef        NONE
+  HiLink cfengineBoolean            Boolean
+  HiLink cfengineEditAction         Identifier
+  HiLink cfengineFilter             Identifier
+  HiLink cfengineKeyword            Statement
+  HiLink cfengineOption             Statement
+  HiLink cfengineCompoundClass      Type
+  HiLink cfengineActionType         PreProc
+  HiLink cfengineActions            PreProc
+  HiLink cfengineComment            Comment
+  HiLink cfengineNumber             Number
+  HiLink cfengineIPAddress          Number
+  HiLink cfengineQuota              Number
+  HiLink cfengineString             String
+  HiLink cfengineTodo               Todo
+  HiLink cfengineOptionVal          Constant
+  HiLink cfengineSigVal             Constant
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "cfengine"