blob: a6a2c8d14964ed1a1c7e08cacdbe6f3837a37bd7 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Lifelines (v 3.0.7) http://lifelines.sourceforge.net
3" Maintainer: Patrick Texier <p.texier@orsennes.com>
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