xref: /vim-8.2.3635/runtime/syntax/calendar.vim (revision 214641f7)
1071d4279SBram Moolenaar" Vim syntax file
242eeac35SBram Moolenaar" Language:             calendar(1) input file
3*214641f7SBram Moolenaar" Previous Maintainer:  Nikolai Weibull <[email protected]>
457657d85SBram Moolenaar" Latest Revision:      2006-04-19
5071d4279SBram Moolenaar
642eeac35SBram Moolenaarif exists("b:current_syntax")
7071d4279SBram Moolenaar  finish
8071d4279SBram Moolenaarendif
9071d4279SBram Moolenaar
1042eeac35SBram Moolenaarlet s:cpo_save = &cpo
1142eeac35SBram Moolenaarset cpo&vim
1242eeac35SBram Moolenaar
13071d4279SBram Moolenaarsyn keyword calendarTodo          contained TODO FIXME XXX NOTE
14071d4279SBram Moolenaar
150dc065eeSBram Moolenaarsyn region  calendarComment       start='/\*' end='\*/'
1642eeac35SBram Moolenaar                                  \ contains=calendarTodo,@Spell
17071d4279SBram Moolenaar
1842eeac35SBram Moolenaarsyn region  calendarCppString     start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl
1942eeac35SBram Moolenaar                                  \ end=+"+ end='$' contains=calendarSpecial
20071d4279SBram Moolenaarsyn match   calendarSpecial       display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)'
21071d4279SBram Moolenaarsyn match   calendarSpecial       display contained "\\\(u\x\{4}\|U\x\{8}\)"
22071d4279SBram Moolenaar
2342eeac35SBram Moolenaarsyn region  calendarPreCondit     start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>'
2442eeac35SBram Moolenaar                                  \ skip='\\$' end='$'
2542eeac35SBram Moolenaar                                  \ contains=calendarComment,calendarCppString
26071d4279SBram Moolenaarsyn match   calendarPreCondit     display '^\s*#\s*\%(else\|endif\)\>'
2742eeac35SBram Moolenaarsyn region  calendarCppOut        start='^\s*#\s*if\s\+0\+' end='.\@=\|$'
2842eeac35SBram Moolenaar                                  \ contains=calendarCppOut2
2942eeac35SBram Moolenaarsyn region  calendarCppOut2       contained start='0'
3042eeac35SBram Moolenaar                                  \ end='^\s*#\s*\%(endif\|else\|elif\)\>'
3142eeac35SBram Moolenaar                                  \ contains=calendarSpaceError,calendarCppSkip
3242eeac35SBram Moolenaarsyn region  calendarCppSkip       contained
3342eeac35SBram Moolenaar                                  \ start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>'
3442eeac35SBram Moolenaar                                  \ skip='\\$' end='^\s*#\s*endif\>'
3542eeac35SBram Moolenaar                                  \ contains=calendarSpaceError,calendarCppSkip
3642eeac35SBram Moolenaarsyn region  calendarIncluded      display contained start=+"+ skip=+\\\\\|\\"+
3742eeac35SBram Moolenaar                                  \ end=+"+
38071d4279SBram Moolenaarsyn match   calendarIncluded      display contained '<[^>]*>'
3942eeac35SBram Moolenaarsyn match   calendarInclude       display '^\s*#\s*include\>\s*["<]'
4042eeac35SBram Moolenaar                                  \ contains=calendarIncluded
4142eeac35SBram Moolenaarsyn cluster calendarPreProcGroup  contains=calendarPreCondit,calendarIncluded,
4242eeac35SBram Moolenaar                                  \ calendarInclude,calendarDefine,
4342eeac35SBram Moolenaar                                  \ calendarCppOut,calendarCppOut2,
4442eeac35SBram Moolenaar                                  \ calendarCppSkip,calendarString,
4542eeac35SBram Moolenaar                                  \ calendarSpecial,calendarTodo
4642eeac35SBram Moolenaarsyn region  calendarDefine        start='^\s*#\s*\%(define\|undef\)\>'
4742eeac35SBram Moolenaar                                  \ skip='\\$' end='$'
4842eeac35SBram Moolenaar                                  \ contains=ALLBUT,@calendarPreProcGroup
4942eeac35SBram Moolenaarsyn region  calendarPreProc       start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>'
5042eeac35SBram Moolenaar                                  \ skip='\\$' end='$' keepend
5142eeac35SBram Moolenaar                                  \ contains=ALLBUT,@calendarPreProcGroup
52071d4279SBram Moolenaar
53071d4279SBram Moolenaarsyn keyword calendarKeyword       CHARSET BODUN LANG
54071d4279SBram Moolenaarsyn case ignore
55071d4279SBram Moolenaarsyn keyword calendarKeyword       Easter Pashka
56071d4279SBram Moolenaarsyn case match
57071d4279SBram Moolenaar
58071d4279SBram Moolenaarsyn case ignore
5942eeac35SBram Moolenaarsyn match   calendarNumber        display '\<\d\+\>'
6042eeac35SBram Moolenaarsyn keyword calendarMonth         Jan[uary] Feb[ruary] Mar[ch] Apr[il] May
6142eeac35SBram Moolenaar                                  \ Jun[e] Jul[y] Aug[ust] Sep[tember]
6242eeac35SBram Moolenaar                                  \ Oct[ober] Nov[ember] Dec[ember]
6342eeac35SBram Moolenaarsyn match   calendarMonth         display '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.'
64071d4279SBram Moolenaarsyn keyword calendarWeekday       Mon[day] Tue[sday] Wed[nesday] Thu[rsday]
65071d4279SBram Moolenaarsyn keyword calendarWeekday       Fri[day] Sat[urday] Sun[day]
6642eeac35SBram Moolenaarsyn match   calendarWeekday       display '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.'
6742eeac35SBram Moolenaar                                  \ nextgroup=calendarWeekdayMod
6842eeac35SBram Moolenaarsyn match   calendarWeekdayMod    display '[+-]\d\+\>'
69071d4279SBram Moolenaarsyn case match
70071d4279SBram Moolenaar
7142eeac35SBram Moolenaarsyn match   calendarTime          display '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\='
7242eeac35SBram Moolenaarsyn match   calendarTime          display '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]'
73071d4279SBram Moolenaar
74071d4279SBram Moolenaarsyn match calendarVariable        '\*'
75071d4279SBram Moolenaar
7642eeac35SBram Moolenaarif exists("c_minlines")
7742eeac35SBram Moolenaar  let b:c_minlines = c_minlines
7842eeac35SBram Moolenaarelse
7942eeac35SBram Moolenaar  if !exists("c_no_if0")
80071d4279SBram Moolenaar    let b:c_minlines = 50       " #if 0 constructs can be long
8142eeac35SBram Moolenaar  else
8242eeac35SBram Moolenaar    let b:c_minlines = 15       " mostly for () constructs
8342eeac35SBram Moolenaar  endif
8442eeac35SBram Moolenaarendif
85071d4279SBram Moolenaarexec "syn sync ccomment calendarComment minlines=" . b:c_minlines
86071d4279SBram Moolenaar
8742eeac35SBram Moolenaarhi def link calendarTodo          Todo
8842eeac35SBram Moolenaarhi def link calendarComment       Comment
8942eeac35SBram Moolenaarhi def link calendarCppString     String
9042eeac35SBram Moolenaarhi def link calendarSpecial       SpecialChar
9142eeac35SBram Moolenaarhi def link calendarPreCondit     PreCondit
9242eeac35SBram Moolenaarhi def link calendarCppOut        Comment
9342eeac35SBram Moolenaarhi def link calendarCppOut2       calendarCppOut
9442eeac35SBram Moolenaarhi def link calendarCppSkip       calendarCppOut
9542eeac35SBram Moolenaarhi def link calendarIncluded      String
9642eeac35SBram Moolenaarhi def link calendarInclude       Include
9742eeac35SBram Moolenaarhi def link calendarDefine        Macro
9842eeac35SBram Moolenaarhi def link calendarPreProc       PreProc
9942eeac35SBram Moolenaarhi def link calendarKeyword       Keyword
10042eeac35SBram Moolenaarhi def link calendarNumber        Number
10142eeac35SBram Moolenaarhi def link calendarMonth         String
10242eeac35SBram Moolenaarhi def link calendarWeekday       String
10342eeac35SBram Moolenaarhi def link calendarWeekdayMod    Special
10442eeac35SBram Moolenaarhi def link calendarTime          Number
10542eeac35SBram Moolenaarhi def link calendarVariable      Identifier
106071d4279SBram Moolenaar
107071d4279SBram Moolenaarlet b:current_syntax = "calendar"
108071d4279SBram Moolenaar
10942eeac35SBram Moolenaarlet &cpo = s:cpo_save
11042eeac35SBram Moolenaarunlet s:cpo_save
111