if exists("b:current_syntax") finish endif syn match calendarDate '^\d\+' display nextgroup=calendarWeek,calendarSchedule syn match calendarDate '^\d\+-\d\+' display nextgroup=calendarWeek,calendarSchedule syn match calendarDate '^\d\+-\d\+-\d\+' display nextgroup=calendarWeek,calendarSchedule syn match calendarWeek 'w\d\+' display nextgroup=calendarWeekday,calendarSchedule syn keyword calendarWeekday Mon Tue Wed Thu Fri Sat Sun nextgroup=calendarSchedule syn match calendarContext '@\w\+' display contained syn match calendarTag '+\w\+' display contained syn match calendarTime ' \d\+ ' display contained syn match calendarTime '\d\+-\d\+' display contained syn region calendarSchedule start=' .*' end='$' oneline contains=calendarContext,calendarTime,calendarTag hi def link calendarDate Number hi def link calendarWeekday String hi def link calendarWeek Keyword hi def link calendarTime Number hi def link calendarContext Comment hi def link calendarTag Comment hi def link calendarSchedule Normal let b:current_syntax = "cal"