blob: 5e38ffaafe5b9f88a04c5f56ee69ec494e8dd8e2 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00002" Language: crontab
3" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
4" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net
5" License: This file can be redistribued and/or modified under the same terms
6" as Vim itself.
7" Filenames: /tmp/crontab.* used by "crontab -e"
Bram Moolenaar8a94d872015-01-25 13:02:57 +01008" Last Change: 2015-01-20
Bram Moolenaar071d4272004-06-13 20:20:40 +00009"
10" crontab line format:
11" Minutes Hours Days Months Days_of_Week Commands # comments
12
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020013" quit when a syntax file was already loaded
14if exists("b:current_syntax")
Bram Moolenaar8a94d872015-01-25 13:02:57 +010015 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000016endif
17
Bram Moolenaar8a94d872015-01-25 13:02:57 +010018syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite
19
20syntax match crontabVar "^\s*\k\w*\s*="me=e-1
21
22syntax case ignore
23
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000024syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
25syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
26syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000027
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000028syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
29syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000031syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
32syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
Bram Moolenaar071d4272004-06-13 20:20:40 +000033
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000034syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
Bram Moolenaar1aeaf8c2012-05-18 13:46:39 +020035syntax match crontabCmnt "^\s*#.*" contains=@Spell
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000036syntax match crontabPercent "[^\\]%.*"lc=1 contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000037
Bram Moolenaar071d4272004-06-13 20:20:40 +000038" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020039" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
Bram Moolenaarf37506f2016-08-31 22:22:10 +020041hi def link crontabMin Number
42hi def link crontabHr PreProc
43hi def link crontabDay Type
Bram Moolenaar071d4272004-06-13 20:20:40 +000044
Bram Moolenaarf37506f2016-08-31 22:22:10 +020045hi def link crontabMnth Number
46hi def link crontabMnth12 Number
47hi def link crontabMnthS Number
48hi def link crontabMnthN Number
Bram Moolenaar071d4272004-06-13 20:20:40 +000049
Bram Moolenaarf37506f2016-08-31 22:22:10 +020050hi def link crontabDow PreProc
51hi def link crontabDow7 PreProc
52hi def link crontabDowS PreProc
53hi def link crontabDowN PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +000054
Bram Moolenaarf37506f2016-08-31 22:22:10 +020055hi def link crontabNick Special
56hi def link crontabVar Identifier
57hi def link crontabPercent Special
Bram Moolenaard9d30582005-05-18 22:10:28 +000058
Bram Moolenaar071d4272004-06-13 20:20:40 +000059" comment out next line for to suppress unix commands coloring.
Bram Moolenaarf37506f2016-08-31 22:22:10 +020060hi def link crontabCmd Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000061
Bram Moolenaarf37506f2016-08-31 22:22:10 +020062hi def link crontabCmnt Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +000063
Bram Moolenaar071d4272004-06-13 20:20:40 +000064
65let b:current_syntax = "crontab"
66
67" vim: ts=8