blob: ed20254925c06224c4429fa1adf5bd00207843ec [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
40command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000041
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020042HiLink crontabMin Number
43HiLink crontabHr PreProc
44HiLink crontabDay Type
Bram Moolenaar071d4272004-06-13 20:20:40 +000045
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020046HiLink crontabMnth Number
47HiLink crontabMnth12 Number
48HiLink crontabMnthS Number
49HiLink crontabMnthN Number
Bram Moolenaar071d4272004-06-13 20:20:40 +000050
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020051HiLink crontabDow PreProc
52HiLink crontabDow7 PreProc
53HiLink crontabDowS PreProc
54HiLink crontabDowN PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +000055
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020056HiLink crontabNick Special
57HiLink crontabVar Identifier
58HiLink crontabPercent Special
Bram Moolenaard9d30582005-05-18 22:10:28 +000059
Bram Moolenaar071d4272004-06-13 20:20:40 +000060" comment out next line for to suppress unix commands coloring.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020061HiLink crontabCmd Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000062
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020063HiLink crontabCmnt Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +000064
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020065delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
67let b:current_syntax = "crontab"
68
69" vim: ts=8