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