Merge branch 'vim-with-runtime' into feat/quickfix-title
[vim_extended.git] / runtime / syntax / remind.vim
blob93a7178479b7e56b57f17b8aaee0d7e362290f9a
1 " Vim syntax file
2 " Language:     Remind
3 " Maintainer:   Davide Alberani <alberanid@libero.it>
4 " Last Change:  18 Sep 2009
5 " Version:      0.5
6 " URL:          http://erlug.linux.it/~da/vim/syntax/remind.vim
8 " remind is a sophisticated reminder service
9 " you can download remind from:
10 "   http://www.roaringpenguin.com/penguin/open_source_remind.php
12 if version < 600
13   syntax clear
14 elseif exists("b:current_syntax")
15   finish
16 endif
18 " shut case off.
19 syn case ignore
21 syn keyword remindCommands      REM OMIT SET FSET UNSET
22 syn keyword remindExpiry        UNTIL FROM SCANFROM SCAN WARN SCHED
23 syn keyword remindTag           PRIORITY TAG
24 syn keyword remindTimed         AT DURATION
25 syn keyword remindMove          ONCE SKIP BEFORE AFTER
26 syn keyword remindSpecial       INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP COLOR
27 syn keyword remindRun           MSG MSF RUN CAL SATISFY SPECIAL PS PSFILE SHADE MOON
28 syn keyword remindConditional   IF ELSE ENDIF IFTRIG
29 syn keyword remindDebug         DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE
30 syn match remindComment         "#.*$"
31 syn region remindString         start=+'+ end=+'+ skip=+\\\\\|\\'+ oneline
32 syn region remindString         start=+"+ end=+"+ skip=+\\\\\|\\"+ oneline
33 syn match remindVar             "\$[_a-zA-Z][_a-zA-Z0-9]*"
34 syn match remindSubst           "%[^ ]"
35 syn match remindAdvanceNumber   "\(\*\|+\|-\|++\|--\)[0-9]\+"
36 " XXX: use different separators for dates and times?
37 syn match remindDateSeparators  "[/:@\.-]" contained
38 syn match remindTimes           "[0-9]\{1,2}[:\.][0-9]\{1,2}" contains=remindDateSeparators
39 " XXX: why not match only valid dates?  Ok, checking for 'Feb the 30' would
40 "       be impossible, but at least check for valid months and times.
41 syn match remindDates           "'[0-9]\{4}[/-][0-9]\{1,2}[/-][0-9]\{1,2}\(@[0-9]\{1,2}[:\.][0-9]\{1,2}\)\?'" contains=remindDateSeparators
42 " This will match trailing whitespaces that seem to break rem2ps.
43 " Courtesy of Michael Dunn.
44 syn match remindWarning         display excludenl "\S\s\+$"ms=s+1
47 if version >= 508 || !exists("did_remind_syn_inits")
48   if version < 508
49     let did_remind_syn_inits = 1
50     command -nargs=+ HiLink hi link <args>
51   else
52     command -nargs=+ HiLink hi def link <args>
53   endif
55   HiLink remindCommands         Function
56   HiLink remindExpiry           Repeat
57   HiLink remindTag              Label
58   HiLink remindTimed            Statement
59   HiLink remindMove             Statement
60   HiLink remindSpecial          Include
61   HiLink remindRun              Function
62   HiLink remindConditional      Conditional
63   HiLink remindComment          Comment
64   HiLink remindTimes            String
65   HiLink remindString           String
66   HiLink remindDebug            Debug
67   HiLink remindVar              Identifier
68   HiLink remindSubst            Constant
69   HiLink remindAdvanceNumber    Number
70   HiLink remindDateSeparators   Comment
71   HiLink remindDates            String
72   HiLink remindWarning          Error
74   delcommand HiLink
75 endif
77 let b:current_syntax = "remind"
79 " vim: ts=8 sw=2