1" Vim syntax file 2" Language: Remind 3" Maintainer: Davide Alberani <[email protected]> 4" Last Change: 02 Nov 2015 5" Version: 0.7 6" URL: http://ismito.it/vim/syntax/remind.vim 7" 8" Remind is a sophisticated calendar and alarm program. 9" You can download remind from: 10" https://www.roaringpenguin.com/products/remind 11" 12" Changelog 13" version 0.7: updated email and link 14" version 0.6: added THROUGH keyword (courtesy of Ben Orchard) 15 16" quit when a syntax file was already loaded 17if exists("b:current_syntax") 18 finish 19endif 20 21" shut case off. 22syn case ignore 23 24syn keyword remindCommands REM OMIT SET FSET UNSET 25syn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED THROUGH 26syn keyword remindTag PRIORITY TAG 27syn keyword remindTimed AT DURATION 28syn keyword remindMove ONCE SKIP BEFORE AFTER 29syn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP COLOR 30syn keyword remindRun MSG MSF RUN CAL SATISFY SPECIAL PS PSFILE SHADE MOON 31syn keyword remindConditional IF ELSE ENDIF IFTRIG 32syn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE 33syn match remindComment "#.*$" 34syn region remindString start=+'+ end=+'+ skip=+\\\\\|\\'+ oneline 35syn region remindString start=+"+ end=+"+ skip=+\\\\\|\\"+ oneline 36syn match remindVar "\$[_a-zA-Z][_a-zA-Z0-9]*" 37syn match remindSubst "%[^ ]" 38syn match remindAdvanceNumber "\(\*\|+\|-\|++\|--\)[0-9]\+" 39" XXX: use different separators for dates and times? 40syn match remindDateSeparators "[/:@\.-]" contained 41syn match remindTimes "[0-9]\{1,2}[:\.][0-9]\{1,2}" contains=remindDateSeparators 42" XXX: why not match only valid dates? Ok, checking for 'Feb the 30' would 43" be impossible, but at least check for valid months and times. 44syn match remindDates "'[0-9]\{4}[/-][0-9]\{1,2}[/-][0-9]\{1,2}\(@[0-9]\{1,2}[:\.][0-9]\{1,2}\)\?'" contains=remindDateSeparators 45" This will match trailing whitespaces that seem to break rem2ps. 46" Courtesy of Michael Dunn. 47syn match remindWarning display excludenl "\S\s\+$"ms=s+1 48 49 50command -nargs=+ HiLink hi def link <args> 51 52HiLink remindCommands Function 53HiLink remindExpiry Repeat 54HiLink remindTag Label 55HiLink remindTimed Statement 56HiLink remindMove Statement 57HiLink remindSpecial Include 58HiLink remindRun Function 59HiLink remindConditional Conditional 60HiLink remindComment Comment 61HiLink remindTimes String 62HiLink remindString String 63HiLink remindDebug Debug 64HiLink remindVar Identifier 65HiLink remindSubst Constant 66HiLink remindAdvanceNumber Number 67HiLink remindDateSeparators Comment 68HiLink remindDates String 69HiLink remindWarning Error 70 71delcommand HiLink 72 73let b:current_syntax = "remind" 74 75" vim: ts=8 sw=2 76