1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Remind 3b4ff518dSBram Moolenaar" Maintainer: Davide Alberani <[email protected]> 4b4ff518dSBram Moolenaar" Last Change: 02 Nov 2015 5b4ff518dSBram Moolenaar" Version: 0.7 6b4ff518dSBram Moolenaar" URL: http://ismito.it/vim/syntax/remind.vim 7071d4279SBram Moolenaar" 8b4ff518dSBram Moolenaar" Remind is a sophisticated calendar and alarm program. 9b4ff518dSBram Moolenaar" You can download remind from: 10b4ff518dSBram Moolenaar" https://www.roaringpenguin.com/products/remind 11b4ff518dSBram Moolenaar" 12b4ff518dSBram Moolenaar" Changelog 13b4ff518dSBram Moolenaar" version 0.7: updated email and link 14b4ff518dSBram Moolenaar" version 0.6: added THROUGH keyword (courtesy of Ben Orchard) 15071d4279SBram Moolenaar 1689bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1789bcfda6SBram Moolenaarif exists("b:current_syntax") 18071d4279SBram Moolenaar finish 19071d4279SBram Moolenaarendif 20071d4279SBram Moolenaar 215c73622aSBram Moolenaar" shut case off. 22071d4279SBram Moolenaarsyn case ignore 23071d4279SBram Moolenaar 24071d4279SBram Moolenaarsyn keyword remindCommands REM OMIT SET FSET UNSET 25b4ff518dSBram Moolenaarsyn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED THROUGH 26071d4279SBram Moolenaarsyn keyword remindTag PRIORITY TAG 27071d4279SBram Moolenaarsyn keyword remindTimed AT DURATION 28071d4279SBram Moolenaarsyn keyword remindMove ONCE SKIP BEFORE AFTER 295c73622aSBram Moolenaarsyn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP COLOR 30071d4279SBram Moolenaarsyn keyword remindRun MSG MSF RUN CAL SATISFY SPECIAL PS PSFILE SHADE MOON 31071d4279SBram Moolenaarsyn keyword remindConditional IF ELSE ENDIF IFTRIG 325c73622aSBram Moolenaarsyn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE 33071d4279SBram Moolenaarsyn match remindComment "#.*$" 34071d4279SBram Moolenaarsyn region remindString start=+'+ end=+'+ skip=+\\\\\|\\'+ oneline 35071d4279SBram Moolenaarsyn region remindString start=+"+ end=+"+ skip=+\\\\\|\\"+ oneline 36071d4279SBram Moolenaarsyn match remindVar "\$[_a-zA-Z][_a-zA-Z0-9]*" 37071d4279SBram Moolenaarsyn match remindSubst "%[^ ]" 38071d4279SBram Moolenaarsyn match remindAdvanceNumber "\(\*\|+\|-\|++\|--\)[0-9]\+" 395c73622aSBram Moolenaar" XXX: use different separators for dates and times? 405c73622aSBram Moolenaarsyn match remindDateSeparators "[/:@\.-]" contained 415c73622aSBram Moolenaarsyn match remindTimes "[0-9]\{1,2}[:\.][0-9]\{1,2}" contains=remindDateSeparators 425c73622aSBram Moolenaar" XXX: why not match only valid dates? Ok, checking for 'Feb the 30' would 435c73622aSBram Moolenaar" be impossible, but at least check for valid months and times. 445c73622aSBram Moolenaarsyn match remindDates "'[0-9]\{4}[/-][0-9]\{1,2}[/-][0-9]\{1,2}\(@[0-9]\{1,2}[:\.][0-9]\{1,2}\)\?'" contains=remindDateSeparators 459964e468SBram Moolenaar" This will match trailing whitespaces that seem to break rem2ps. 469964e468SBram Moolenaar" Courtesy of Michael Dunn. 479964e468SBram Moolenaarsyn match remindWarning display excludenl "\S\s\+$"ms=s+1 489964e468SBram Moolenaar 49071d4279SBram Moolenaar 50071d4279SBram Moolenaar 51*f37506f6SBram Moolenaarhi def link remindCommands Function 52*f37506f6SBram Moolenaarhi def link remindExpiry Repeat 53*f37506f6SBram Moolenaarhi def link remindTag Label 54*f37506f6SBram Moolenaarhi def link remindTimed Statement 55*f37506f6SBram Moolenaarhi def link remindMove Statement 56*f37506f6SBram Moolenaarhi def link remindSpecial Include 57*f37506f6SBram Moolenaarhi def link remindRun Function 58*f37506f6SBram Moolenaarhi def link remindConditional Conditional 59*f37506f6SBram Moolenaarhi def link remindComment Comment 60*f37506f6SBram Moolenaarhi def link remindTimes String 61*f37506f6SBram Moolenaarhi def link remindString String 62*f37506f6SBram Moolenaarhi def link remindDebug Debug 63*f37506f6SBram Moolenaarhi def link remindVar Identifier 64*f37506f6SBram Moolenaarhi def link remindSubst Constant 65*f37506f6SBram Moolenaarhi def link remindAdvanceNumber Number 66*f37506f6SBram Moolenaarhi def link remindDateSeparators Comment 67*f37506f6SBram Moolenaarhi def link remindDates String 68*f37506f6SBram Moolenaarhi def link remindWarning Error 69071d4279SBram Moolenaar 70071d4279SBram Moolenaar 71071d4279SBram Moolenaarlet b:current_syntax = "remind" 72071d4279SBram Moolenaar 73071d4279SBram Moolenaar" vim: ts=8 sw=2 74