blob: 12daa9b7b8001aa3872f14e04a034592e4a079d5 [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"
Moviurocdd93442023-08-22 22:24:26 +02008" Last Change: 2022-09-22
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
Moviurocdd93442023-08-22 22:24:26 +020018syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\|every_minute\|every_second\)\>" nextgroup=crontabCmd skipwhite
Bram Moolenaar8a94d872015-01-25 13:02:57 +010019
20syntax match crontabVar "^\s*\k\w*\s*="me=e-1
21
22syntax case ignore
23
Moviurocdd93442023-08-22 22:24:26 +020024syntax 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
Moviurocdd93442023-08-22 22:24:26 +020028syntax match crontabMnth "\s[-~a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000029syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
Moviurocdd93442023-08-22 22:24:26 +020031syntax match crontabDow "\s[-~a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000032syntax 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