-# 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 @@
+--- vim-7.4.979/runtime/syntax/crontab.vim~ 2015-12-22 11:05:52.000000000 +0200
++++ vim-7.4.979/runtime/syntax/crontab.vim 2015-12-22 11:06:53.383500266 +0200
+@@ -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
+@@ -36,6 +39,11 @@
-+ 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
+@@ -63,6 +57,7 @@
+ command -nargs=+ hi def link hi def link <args>
+ endif
+
++hi def link crontabSpecial PreProc
+ hi def link crontabMin Number
+ hi def link crontabHr PreProc
+ hi def link crontabDay Type
+@@ -84,6 +79,13 @@
" comment out next line for to suppress unix commands coloring.
- HiLink crontabCmd Type
-+ HiLink crontabCmdSpecial Special
+ hi def link crontabCmd Statement
- HiLink crontabCmnt Comment
++hi def link crontabCmdSpecial Special
++
++hi def link crontabVar Identifier
++hi def link crontabVarEq Special
++hi def link crontabVarVal Constant
++hi def link crontabVarValQ String
++
+ hi def link crontabCmnt Comment
+ hi def link