xref: /vim-8.2.3635/runtime/syntax/crontab.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2d9d30583SBram Moolenaar" Language: crontab
3d9d30583SBram Moolenaar" Maintainer: David Necas (Yeti) <[email protected]>
4fc1421ebSBram Moolenaar" Original Maintainer: John Hoelzel [email protected]
5fc1421ebSBram Moolenaar" License: This file can be redistribued and/or modified under the same terms
6fc1421ebSBram Moolenaar"   as Vim itself.
7071d4279SBram Moolenaar" Filenames: /tmp/crontab.* used by "crontab -e"
88a94d873SBram Moolenaar" Last Change: 2015-01-20
9071d4279SBram Moolenaar"
10071d4279SBram Moolenaar" crontab line format:
11071d4279SBram Moolenaar" Minutes   Hours   Days   Months   Days_of_Week   Commands # comments
12071d4279SBram Moolenaar
1389bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1489bcfda6SBram Moolenaarif exists("b:current_syntax")
15071d4279SBram Moolenaar	finish
16071d4279SBram Moolenaarendif
17071d4279SBram Moolenaar
188a94d873SBram Moolenaarsyntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite
198a94d873SBram Moolenaar
208a94d873SBram Moolenaarsyntax match crontabVar "^\s*\k\w*\s*="me=e-1
218a94d873SBram Moolenaar
228a94d873SBram Moolenaarsyntax case ignore
238a94d873SBram Moolenaar
24d9d30583SBram Moolenaarsyntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
25d9d30583SBram Moolenaarsyntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
26d9d30583SBram Moolenaarsyntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
27071d4279SBram Moolenaar
28d9d30583SBram Moolenaarsyntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
29071d4279SBram Moolenaarsyntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
30071d4279SBram Moolenaar
31d9d30583SBram Moolenaarsyntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
32071d4279SBram Moolenaarsyntax keyword crontabDow7 contained sun mon tue wed thu fri sat
33071d4279SBram Moolenaar
34fc1421ebSBram Moolenaarsyntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
351aeaf8c0SBram Moolenaarsyntax match crontabCmnt "^\s*#.*" contains=@Spell
36fc1421ebSBram Moolenaarsyntax match crontabPercent "[^\\]%.*"lc=1 contained
37d9d30583SBram Moolenaar
38071d4279SBram Moolenaar" Define the default highlighting.
3989bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
40071d4279SBram Moolenaar
41*f37506f6SBram Moolenaarhi def link crontabMin		Number
42*f37506f6SBram Moolenaarhi def link crontabHr		PreProc
43*f37506f6SBram Moolenaarhi def link crontabDay		Type
44071d4279SBram Moolenaar
45*f37506f6SBram Moolenaarhi def link crontabMnth		Number
46*f37506f6SBram Moolenaarhi def link crontabMnth12		Number
47*f37506f6SBram Moolenaarhi def link crontabMnthS		Number
48*f37506f6SBram Moolenaarhi def link crontabMnthN		Number
49071d4279SBram Moolenaar
50*f37506f6SBram Moolenaarhi def link crontabDow		PreProc
51*f37506f6SBram Moolenaarhi def link crontabDow7		PreProc
52*f37506f6SBram Moolenaarhi def link crontabDowS		PreProc
53*f37506f6SBram Moolenaarhi def link crontabDowN		PreProc
54071d4279SBram Moolenaar
55*f37506f6SBram Moolenaarhi def link crontabNick		Special
56*f37506f6SBram Moolenaarhi def link crontabVar		Identifier
57*f37506f6SBram Moolenaarhi def link crontabPercent		Special
58d9d30583SBram Moolenaar
59071d4279SBram Moolenaar" comment out next line for to suppress unix commands coloring.
60*f37506f6SBram Moolenaarhi def link crontabCmd		Statement
61071d4279SBram Moolenaar
62*f37506f6SBram Moolenaarhi def link crontabCmnt		Comment
63071d4279SBram Moolenaar
64071d4279SBram Moolenaar
65071d4279SBram Moolenaarlet b:current_syntax = "crontab"
66071d4279SBram Moolenaar
67071d4279SBram Moolenaar" vim: ts=8
68