-# Support for vixie-cron style @SPECS in crontab syntax highlighting.
-
---- vim70aa/runtime/syntax/crontab.vim 2004-08-03 08:15:48.000000000 +0100
-+++ vim70aa/runtime/syntax/crontab.vim 2004-08-27 04:08:40.677471216 +0100
-@@ -16,19 +16,23 @@
+--- vim74/runtime/syntax/crontab.vim~ 2013-09-06 00:07:40.000000000 +0300
++++ vim74/runtime/syntax/crontab.vim 2013-09-06 00:09:14.394009460 +0300
+@@ -18,17 +18,20 @@
finish
endif
--syntax match crontabMin "\_^[0-9\-\/\,\.]\{}\>\|\*" nextgroup=crontabHr skipwhite
--syntax match crontabHr "\<[0-9\-\/\,\.]\{}\>\|\*" nextgroup=crontabDay skipwhite contained
--syntax match crontabDay "\<[0-9\-\/\,\.]\{}\>\|\*" nextgroup=crontabMnth skipwhite contained
-+syntax match crontabMin "\_^[0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabHr skipwhite
-+syntax match crontabHr "\<[0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabDay skipwhite contained
-+syntax match crontabDay "\<[0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabMnth skipwhite contained
+-syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
+-syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
+-syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
++syntax match crontabMin "\_^[0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabHr skipwhite
++syntax match crontabHr "\_^[0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabDay skipwhite contained
++syntax match crontabDay "\_^[0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabMnth skipwhite contained
--syntax match crontabMnth "\<[a-z0-9\-\/\,\.]\{}\>\|\*" nextgroup=crontabDow skipwhite contained
-+syntax match crontabMnth "\<[a-z0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabDow skipwhite contained
- syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
+-syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
++syntax match crontabMnth "\<[a-z0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabDow skipwhite contained
+ syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
--syntax match crontabDow "\<[a-z0-9\-\/\,\.]\{}\>\|\*" nextgroup=crontabCmd skipwhite contained
-+syntax match crontabDow "\<[a-z0-9\-\/\,\.]\{}\>\|\*\(/[0-9]\{}\)\?" nextgroup=crontabCmd skipwhite contained
- syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
+ syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
+ syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
+syntax match crontabSpecial "@\w\+" nextgroup=crontabCmd skipwhite
-+
- " syntax region crontabCmd start="\<[a-z0-9\/\(]" end="$" nextgroup=crontabCmnt skipwhite contained contains=crontabCmnt keepend
-
--syntax region crontabCmd start="\S" end="$" nextgroup=crontabCmnt skipwhite contained contains=crontabCmnt keepend
+syntax match crontabCmdSpecial contained /\\.\|%/
-+
-+syntax region crontabCmd start="\S" end="$" nextgroup=crontabCmnt skipwhite contained contains=crontabCmnt,crontabCmdSpecial keepend
- syntax match crontabCmnt /#.*/
+ syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
++syntax region crontabCmd start="\S" end="$" nextgroup=crontabCmnt skipwhite contained contains=crontabCmnt,crontabCmdSpecial keepend
+ syntax match crontabCmnt "^\s*#.*" contains=@Spell
+ syntax match crontabPercent "[^\\]%.*"lc=1 contained
- " Define the default highlighting.
-@@ -51,6 +55,8 @@
- HiLink crontabMnthS Number
- HiLink crontabMnthN Number
+@@ -37,6 +40,12 @@
-+ HiLink crontabSpecial PreProc
-+
- HiLink crontabDow PreProc
- HiLink crontabDow7 PreProc
- HiLink crontabDowS PreProc
-@@ -58,6 +64,7 @@
+ syntax match crontabVar "^\s*\k\w*\s*="me=e-1
++syntax match crontabVar /^[A-Za-z][A-Za-z0-9\-\_]*/ nextgroup=crontabVarEq skipwhite
++syntax match crontabVarEq contained /=/ nextgroup=CrontabVarValQ,CrontabVarVal skipwhite
++syntax match crontabVarValQ contained /\(["']\).*\1/ skipwhite
++syntax match crontabVarVal contained /["']\@!\S\+/ skipwhite
++
++
+ " 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
+@@ -48,6 +57,7 @@
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
++ HiLink crontabSpecial PreProc
+ HiLink crontabMin Number
+ HiLink crontabHr PreProc
+ HiLink crontabDay Type
+@@ -69,6 +79,13 @@
" comment out next line for to suppress unix commands coloring.
- HiLink crontabCmd Type
-+ HiLink crontabCmdSpecial Special
+ HiLink crontabCmd Statement
++ HiLink crontabCmdSpecial Special
++
++ HiLink crontabVar Identifier
++ HiLink crontabVarEq Special
++ HiLink crontabVarVal Constant
++ HiLink crontabVarValQ String
++
HiLink crontabCmnt Comment
+ delcommand HiLink