xref: /vim-8.2.3635/runtime/syntax/crontab.vim (revision 89bcfda6)
1" Vim syntax file
2" Language: crontab
3" Maintainer: David Necas (Yeti) <[email protected]>
4" Original Maintainer: John Hoelzel [email protected]
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"
8" Last Change: 2015-01-20
9"
10" crontab line format:
11" Minutes   Hours   Days   Months   Days_of_Week   Commands # comments
12
13" quit when a syntax file was already loaded
14if exists("b:current_syntax")
15	finish
16endif
17
18syntax 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
24syntax 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
27
28syntax 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
30
31syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
32syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
33
34syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
35syntax match crontabCmnt "^\s*#.*" contains=@Spell
36syntax match crontabPercent "[^\\]%.*"lc=1 contained
37
38" Define the default highlighting.
39" Only when an item doesn't have highlighting yet
40command -nargs=+ HiLink hi def link <args>
41
42HiLink crontabMin		Number
43HiLink crontabHr		PreProc
44HiLink crontabDay		Type
45
46HiLink crontabMnth		Number
47HiLink crontabMnth12		Number
48HiLink crontabMnthS		Number
49HiLink crontabMnthN		Number
50
51HiLink crontabDow		PreProc
52HiLink crontabDow7		PreProc
53HiLink crontabDowS		PreProc
54HiLink crontabDowN		PreProc
55
56HiLink crontabNick		Special
57HiLink crontabVar		Identifier
58HiLink crontabPercent		Special
59
60" comment out next line for to suppress unix commands coloring.
61HiLink crontabCmd		Statement
62
63HiLink crontabCmnt		Comment
64
65delcommand HiLink
66
67let b:current_syntax = "crontab"
68
69" vim: ts=8
70