xref: /vim-8.2.3635/runtime/syntax/lifelines.vim (revision f37506f6)
1" Vim syntax file
2" Language:	LifeLines (v 3.0.62) <http://lifelines.sourceforge.net>
3" Maintainer:	Patrick Texier <[email protected]>
4" Location:	<http://patrick.texier.free.fr/vim/syntax/lifelines.vim>
5" Last Change:	2010 May 7
6
7" option to highlight error obsolete statements
8" add the following line to your .vimrc file :
9" let lifelines_deprecated = 1
10
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13
14" quit when a syntax file was already loaded
15if exists("b:current_syntax")
16  finish
17endif
18
19" A bunch of useful LifeLines keywords 3.0.62
20
21syn keyword	lifelinesDecl		char_encoding require option include
22syn keyword	lifelinesStatement	set
23syn keyword	lifelinesUser		getindi geindiset getfam getint getstr choosechild
24syn keyword	lifelinesUser		chooseindi choosespouse choosesubset menuchoose
25syn keyword	lifelinesUser		choosefam
26syn keyword	lifelinesProc		proc func return call
27syn keyword	lifelinesInclude	include
28syn keyword	lifelinesDef		global
29syn keyword	lifelinesConditional	if else elsif switch
30syn keyword	lifelinesRepeat		continue break while
31syn keyword	lifelinesLogical	and or not eq ne lt gt le ge strcmp eqstr nestr
32syn keyword	lifelinesArithm		add sub mul div mod exp neg incr decr
33syn keyword	lifelinesArithm		cos sin tan arccos arcsin arctan
34syn keyword	lifelinesArithm		deg2dms dms2deg spdist
35syn keyword	lifelinesIndi		name fullname surname givens trimname birth
36syn keyword	lifelinesIndi		death burial baptism
37syn keyword	lifelinesIndi		father mother nextsib prevsib sex male female
38syn keyword	lifelinesIndi		pn nspouses nfamilies parents title key
39syn keyword	lifelinesIndi		soundex inode root indi firstindi nextindi
40syn keyword	lifelinesIndi		previndi spouses families forindi indiset
41syn keyword	lifelinesIndi		addtoset deletefromset  union intersect
42syn keyword	lifelinesIndi		difference parentset childset spouseset siblingset
43syn keyword	lifelinesIndi		ancestorset descendentset descendantset uniqueset
44syn keyword	lifelinesIndi		namesort keysort valuesort genindiset getindiset
45syn keyword	lifelinesIndi		forindiset lastindi writeindi
46syn keyword	lifelinesIndi		inset
47syn keyword	lifelinesFam		marriage husband wife nchildren firstchild
48syn keyword	lifelinesFam		lastchild fnode fam firstfam nextfam lastfam
49syn keyword	lifelinesFam		prevfam children forfam writefam
50syn keyword	lifelinesFam		fathers mothers Parents
51syn keyword	lifelinesList		list empty length enqueue dequeue requeue
52syn keyword	lifelinesList		push pop setel getel forlist inlist dup clear
53syn keyword	lifelinesTable		table insert lookup
54syn keyword	lifelinesGedcom		xref tag value parent child sibling savenode
55syn keyword	lifelinesGedcom		fornodes traverse createnode addnode
56syn keyword	lifelinesGedcom		detachnode foreven fornotes forothr forsour
57syn keyword	lifelinesGedcom		reference dereference getrecord
58syn keyword	lifelinesGedcom		gengedcomstrong
59syn keyword	lifelinesFunct		date place year long short gettoday dayformat
60syn keyword	lifelinesFunct		monthformat dateformat extractdate eraformat
61syn keyword	lifelinesFunct		complexdate complexformat complexpic datepic
62syn keyword	lifelinesFunct		extractnames extractplaces extracttokens lower
63syn keyword	lifelinesFunct		yearformat
64syn keyword	lifelinesFunct		upper capitalize trim rjustify
65syn keyword 	lifelinesFunct		concat strconcat strlen substring index
66syn keyword	lifelinesFunct		titlecase gettext
67syn keyword	lifelinesFunct		d card ord alpha roman strsoundex strtoint
68syn keyword	lifelinesFunct		atoi linemode pagemod col row pos pageout nl
69syn keyword	lifelinesFunct		sp qt newfile outfile copyfile print lock unlock test
70syn keyword	lifelinesFunct		database version system stddate program
71syn keyword	lifelinesFunct		pvalue pagemode level extractdatestr debug
72syn keyword	lifelinesFunct		f float int free getcol getproperty heapused
73syn keyword 	lifelinesFunct		sort rsort
74syn keyword	lifelinesFunct		deleteel
75syn keyword	lifelinesFunct		bytecode convertcode setlocale
76" New dates functions (since 3.0.51)
77syn keyword	lifelinesFunct		jd2date date2jd dayofweek setdate
78
79" options to highlight as error obsolete statements
80" please read ll-reportmanual.
81
82if exists("lifelines_deprecated")
83	syn keyword lifelinesError	getintmsg getindimsg getstrmsg
84	syn keyword lifelinesError	gengedcom gengedcomweak deletenode
85	syn keyword lifelinesError	save strsave
86	syn keyword lifelinesError	lengthset
87	if version >= 700
88		let g:omni_syntax_group_exclude_lifelines = 'lifelinesError'
89	endif
90else
91	syn keyword lifelinesUser	getintmsg getindimsg getstrmsg
92	syn keyword lifelinesGedcom	gengedcom gengedcomweak deletenode
93	syn keyword lifelinesFunct	save strsave
94	syn keyword lifelinesIndi	lengthset
95endif
96
97syn region	lifelinesString	start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial
98
99syn match	lifelinesSpecial	"\\\(\\\|\(n\|t\)\)" contained
100
101syn keyword	lifelinesTodo		contained TODO FIXME XXX
102syn region	lifelinesComment	start="/\*"  end="\*/" contains=lifelinesTodo
103
104" integers
105syn match	lifelinesNumber	"-\=\<\d\+\>"
106"floats, with dot
107syn match	lifelinesNumber	"-\=\<\d\+\.\d*\>"
108"floats, starting with a dot
109syn match	lifelinesNumber	"-\=\.\d\+\>"
110
111" folding using {}
112syn region lifelinesFoldBlock	start="{" end="}" transparent fold
113
114"catch errors caused by wrong parenthesis
115"adapted from original c.vim written by Bram Moolenaar
116
117syn cluster	lifelinesParenGroup	contains=lifelinesParenError
118syn region	lifelinesParen		transparent start='(' end=')' contains=ALLBUT,@lifelinesParenGroup
119syn match	lifelinesParenError	")"
120syn match	lifelinesErrInParen	contained "[{}]"
121
122" Define the default highlighting.
123" Only when an item doesn't have highlighting yet
124
125
126hi def link lifelinesConditional	Conditional
127hi def link lifelinesArithm	Operator
128hi def link lifelinesLogical	Conditional
129hi def link lifelinesInclude	Include
130hi def link lifelinesComment	Comment
131hi def link lifelinesStatement	Statement
132hi def link lifelinesUser		Statement
133hi def link lifelinesFunct		Statement
134hi def link lifelinesTable		Statement
135hi def link lifelinesGedcom	Statement
136hi def link lifelinesList		Statement
137hi def link lifelinesRepeat	Repeat
138hi def link lifelinesFam		Statement
139hi def link lifelinesIndi		Statement
140hi def link lifelinesProc		Statement
141hi def link lifelinesDef		Statement
142hi def link lifelinesString	String
143hi def link lifelinesSpecial	Special
144hi def link lifelinesNumber	Number
145hi def link lifelinesParenError	Error
146hi def link lifelinesErrInParen	Error
147hi def link lifelinesError		Error
148hi def link lifelinesTodo		Todo
149hi def link lifelinesDecl		PreProc
150
151
152let b:current_syntax = "lifelines"
153
154" vim: ts=8 sw=4
155