xref: /vim-8.2.3635/runtime/syntax/remind.vim (revision f37506f6)
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