xref: /vim-8.2.3635/runtime/syntax/lifelines.vim (revision 0fa313a7)
1" Vim syntax file
2" Language:	Lifelines (v 3.0.7) http://lifelines.sourceforge.net
3" Maintainer:	Patrick Texier <[email protected]>
4" Location:	ftp://216.71.72.236/lifelines.vim
5" Last Change:	2002 Mar 03
6
7" For version 5.x: Clear all syntax items
8" For version 6.x: Quit when a syntax file was already loaded
9
10if version < 600
11  syntax clear
12elseif exists("b:current_syntax")
13  finish
14endif
15
16" A bunch of useful lifelines keywords 3.0.7
17
18syn keyword	lifelinesStatement	set
19syn keyword	lifelinesUser		getindi geindiset getfam getint getstr choosechild
20syn keyword	lifelinesUser		chooseindi choosespouse choosesubset menuchoose
21syn keyword	lifelinesUser		choosefam getintmsg getindimsg getstrmsg
22syn keyword	lifelinesProc		proc func return call
23syn keyword	lifelinesInclude	include
24syn keyword	lifelinesDef		global
25syn keyword	lifelinesConditional	if else elsif switch
26syn keyword	lifelinesRepeat		continue break while
27syn keyword	lifelinesLogical	and or not eq ne lt gt le ge strcmp eqstr nestr
28syn keyword	lifelinesArithm		add sub mul div mod exp neg incr decr
29syn keyword	lifelinesIndi		name fullname surname givens trimname birth
30syn keyword	lifelinesIndi		death baptism burial
31syn keyword	lifelinesIndi		father mother nextsib prevsib sex male female
32syn keyword	lifelinesIndi		pn nspouses nfamilies parents title key
33syn keyword	lifelinesIndi		soundex inode root indi firstindi nextindi
34syn keyword	lifelinesIndi		previndi spouses families forindi indiset
35syn keyword	lifelinesIndi		addtoset deletefromset lengthset union intersect
36syn keyword	lifelinesIndi		difference parentset childset spouseset siblingset
37syn keyword	lifelinesIndi		ancestorset descendentset descendantset uniqueset
38syn keyword	lifelinesIndi		namesort keysort valuesort genindiset getindiset
39syn keyword	lifelinesIndi		forindiset lastindi writeindi
40syn keyword	lifelinesIndi		inset
41syn keyword	lifelinesFam		marriage husband wife nchildren firstchild
42syn keyword     lifelinesFam		lastchild fnode fam firstfam nextfam lastfam
43syn keyword     lifelinesFam		prevfam children forfam writefam
44syn keyword	lifelinesList		list empty length enqueue dequeue requeue
45syn keyword	lifelinesList		push pop setel getel forlist inlist
46syn keyword	lifelinesTable		table insert lookup
47syn keyword	lifelinesGedcom		xref tag value parent child sibling savenode
48syn keyword	lifelinesGedcom		fornodes traverse createnode addnode deletenode
49syn keyword	lifelinesGedcom		reference dereference getrecord
50syn keyword     lifelinesGedcom		gengedcom gengedcomstrong gengedcomweak
51syn keyword	lifelinesFunct		date place year long short gettoday dayformat
52syn keyword	lifelinesFunct		monthformat dateformat extractdate
53syn keyword	lifelinesFunct		complexdate
54syn keyword	lifelinesFunct		extractnames extractplaces extracttokens lower
55syn keyword     lifelinesFunct		upper capitalize trim rjustify save strsave
56syn keyword     lifelinesFunct		concat strconcat strlen substring index
57syn keyword	lifelinesFunct		d card ord alpha roman strsoundex strtoint
58syn keyword	lifelinesFunct		atoi linemode pagemod col row pos pageout nl
59syn keyword	lifelinesFunct		sp qt newfile outfile copyfile print lock unlock
60syn keyword	lifelinesFunct		database version system stddate program
61syn keyword	lifelinesFunct		pvalue pagemode level extractdatestr debug
62syn keyword	lifelinesFunct		f free getcol getproperty heapused
63
64syn region	lifelinesString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial
65
66syn region	lifelinesComment	start="/\*"  end="\*/" contains=lifelinesComment
67
68" Only integers with lifelines
69
70syn match	lifelinesNumber		"\<\d\+\>"
71
72"catch errors caused by wrong parenthesis
73"adapted from original c.vim written by Bram Moolenaar
74
75syn cluster	lifelinesParenGroup	contains=lifelinesParenError
76syn region	lifelinesParen		transparent start='(' end=')' contains=ALLBUT,@lifelinesParenGroup
77syn match	lifelinesParenError	")"
78syn match	lifelinesErrInParen	contained "[{}]"
79
80" Define the default highlighting.
81" For version 5.7 and earlier: only when not done already
82" For version 5.8 and later: only when an item doesn't have highlighting yet
83
84if version >= 508 || !exists("did_lifelines_syn_inits")
85  if version < 508
86    let did_lifelines_syn_inits = 1
87    command -nargs=+ HiLink hi link <args>
88  else
89    command -nargs=+ HiLink hi def link <args>
90  endif
91
92  HiLink lifelinesConditional	Conditional
93  HiLink lifelinesArithm	Operator
94  HiLink lifelinesLogical	Conditional
95  HiLink lifelinesInclude	Include
96  HiLink lifelinesComment	Comment
97  HiLink lifelinesStatement	Statement
98  HiLink lifelinesUser		Statement
99  HiLink lifelinesFunct		Statement
100  HiLink lifelinesTable		Statement
101  HiLink lifelinesGedcom	Statement
102  HiLink lifelinesList		Statement
103  HiLink lifelinesRepeat	Repeat
104  HiLink lifelinesFam		Statement
105  HiLink lifelinesIndi		Statement
106  HiLink lifelinesProc		Statement
107  HiLink lifelinesDef		Statement
108  HiLink lifelinesString	String
109  HiLink lifelinesNumber	Number
110  HiLink lifelinesParenError	Error
111  HiLink lifelinesErrInParen	Error
112
113  delcommand HiLink
114endif
115
116let b:current_syntax = "lifelines"
117
118" vim: ts=8
119