0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/syntax/remind.vim

80 lines
2.7 KiB
VimL
Raw Normal View History

2004-06-13 20:20:40 +00:00
" Vim syntax file
" Language: Remind
2007-05-05 17:54:07 +00:00
" Maintainer: Davide Alberani <alberanid@libero.it>
2010-01-06 20:54:52 +01:00
" Last Change: 18 Sep 2009
" Version: 0.5
2007-05-05 17:54:07 +00:00
" URL: http://erlug.linux.it/~da/vim/syntax/remind.vim
2004-06-13 20:20:40 +00:00
"
2010-01-06 20:54:52 +01:00
" remind is a sophisticated reminder service
" you can download remind from:
" http://www.roaringpenguin.com/penguin/open_source_remind.php
2004-06-13 20:20:40 +00:00
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
2010-01-06 20:54:52 +01:00
" shut case off.
2004-06-13 20:20:40 +00:00
syn case ignore
syn keyword remindCommands REM OMIT SET FSET UNSET
2010-01-06 20:54:52 +01:00
syn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED
2004-06-13 20:20:40 +00:00
syn keyword remindTag PRIORITY TAG
syn keyword remindTimed AT DURATION
syn keyword remindMove ONCE SKIP BEFORE AFTER
2010-01-06 20:54:52 +01:00
syn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP COLOR
2004-06-13 20:20:40 +00:00
syn keyword remindRun MSG MSF RUN CAL SATISFY SPECIAL PS PSFILE SHADE MOON
syn keyword remindConditional IF ELSE ENDIF IFTRIG
2010-01-06 20:54:52 +01:00
syn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE
2004-06-13 20:20:40 +00:00
syn match remindComment "#.*$"
syn region remindString start=+'+ end=+'+ skip=+\\\\\|\\'+ oneline
syn region remindString start=+"+ end=+"+ skip=+\\\\\|\\"+ oneline
syn match remindVar "\$[_a-zA-Z][_a-zA-Z0-9]*"
syn match remindSubst "%[^ ]"
syn match remindAdvanceNumber "\(\*\|+\|-\|++\|--\)[0-9]\+"
2010-01-06 20:54:52 +01:00
" XXX: use different separators for dates and times?
syn match remindDateSeparators "[/:@\.-]" contained
syn match remindTimes "[0-9]\{1,2}[:\.][0-9]\{1,2}" contains=remindDateSeparators
" XXX: why not match only valid dates? Ok, checking for 'Feb the 30' would
" be impossible, but at least check for valid months and times.
syn match remindDates "'[0-9]\{4}[/-][0-9]\{1,2}[/-][0-9]\{1,2}\(@[0-9]\{1,2}[:\.][0-9]\{1,2}\)\?'" contains=remindDateSeparators
2007-05-05 17:54:07 +00:00
" This will match trailing whitespaces that seem to break rem2ps.
" Courtesy of Michael Dunn.
syn match remindWarning display excludenl "\S\s\+$"ms=s+1
2004-06-13 20:20:40 +00:00
if version >= 508 || !exists("did_remind_syn_inits")
if version < 508
let did_remind_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink remindCommands Function
HiLink remindExpiry Repeat
HiLink remindTag Label
HiLink remindTimed Statement
HiLink remindMove Statement
HiLink remindSpecial Include
HiLink remindRun Function
HiLink remindConditional Conditional
HiLink remindComment Comment
2010-01-06 20:54:52 +01:00
HiLink remindTimes String
2004-06-13 20:20:40 +00:00
HiLink remindString String
HiLink remindDebug Debug
HiLink remindVar Identifier
HiLink remindSubst Constant
HiLink remindAdvanceNumber Number
2010-01-06 20:54:52 +01:00
HiLink remindDateSeparators Comment
HiLink remindDates String
2007-05-05 17:54:07 +00:00
HiLink remindWarning Error
2004-06-13 20:20:40 +00:00
delcommand HiLink
endif
let b:current_syntax = "remind"
" vim: ts=8 sw=2