1" Vim syntax file
2" Language:	task data
3" Maintainer:	John Florian <jflorian@doubledog.org>
4" Updated:	Wed Jul  8 19:46:20 EDT 2009
5
6
7" For version 5.x: Clear all syntax items.
8" For version 6.x: Quit when a syntax file was already loaded.
9if version < 600
10  syntax clear
11elseif exists("b:current_syntax")
12  finish
13endif
14
15" Key Names for values.
16syn keyword taskdataKey		description due end entry imask mask parent
17syn keyword taskdataKey		priority project recur start status tags uuid
18syn match taskdataKey		"annotation_\d\+"
19syn match taskdataUndo		"^time.*$"
20syn match taskdataUndo		"^\(old \|new \|---\)"
21
22" Values associated with key names.
23"
24" Strings
25syn region taskdataString	matchgroup=Normal start=+"+ end=+"+
26			\	contains=taskdataEncoded,taskdataUUID,@Spell
27"
28" Special Embedded Characters (e.g., "&comma;")
29syn match taskdataEncoded	"&\a\+;" contained
30" UUIDs
31syn match taskdataUUID		"\x\{8}-\(\x\{4}-\)\{3}\x\{12}" contained
32
33
34" The default methods for highlighting.  Can be overridden later.
35hi def link taskdataEncoded	Function
36hi def link taskdataKey		Statement
37hi def link taskdataString 	String
38hi def link taskdataUUID 	Special
39hi def link taskdataUndo 	Type
40
41let b:current_syntax = "taskdata"
42
43" vim:noexpandtab
44