blob: ff4692888e84ad610a27093ae1ea7e63b38cf328 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar06b5d512010-05-22 15:37:44 +02002" Language: LifeLines (v 3.0.62) <http://lifelines.sourceforge.net>
3" Maintainer: Patrick Texier <p.texier@orsennes.com>
4" Location: <http://patrick.texier.free.fr/vim/syntax/lifelines.vim>
5" Last Change: 2010 May 7
Bram Moolenaar7fc904b2006-04-13 20:37:35 +00006
7" option to highlight error obsolete statements
Bram Moolenaar06b5d512010-05-22 15:37:44 +02008" add the following line to your .vimrc file :
9" let lifelines_deprecated = 1
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020014" quit when a syntax file was already loaded
15if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000016 finish
17endif
18
Bram Moolenaar06b5d512010-05-22 15:37:44 +020019" A bunch of useful LifeLines keywords 3.0.62
Bram Moolenaar071d4272004-06-13 20:20:40 +000020
Bram Moolenaar06b5d512010-05-22 15:37:44 +020021syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000029syn keyword lifelinesConditional if else elsif switch
Bram Moolenaar06b5d512010-05-22 15:37:44 +020030syn 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
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000078
Bram Moolenaar06b5d512010-05-22 15:37:44 +020079" options to highlight as error obsolete statements
80" please read ll-reportmanual.
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000081
82if exists("lifelines_deprecated")
Bram Moolenaar06b5d512010-05-22 15:37:44 +020083 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
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000090else
Bram Moolenaar06b5d512010-05-22 15:37:44 +020091 syn keyword lifelinesUser getintmsg getindimsg getstrmsg
92 syn keyword lifelinesGedcom gengedcom gengedcomweak deletenode
93 syn keyword lifelinesFunct save strsave
94 syn keyword lifelinesIndi lengthset
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000095endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000096
Bram Moolenaar06b5d512010-05-22 15:37:44 +020097syn region lifelinesString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
Bram Moolenaar06b5d512010-05-22 15:37:44 +020099syn match lifelinesSpecial "\\\(\\\|\(n\|t\)\)" contained
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100
Bram Moolenaar06b5d512010-05-22 15:37:44 +0200101syn keyword lifelinesTodo contained TODO FIXME XXX
102syn region lifelinesComment start="/\*" end="\*/" contains=lifelinesTodo
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103
Bram Moolenaar7fc904b2006-04-13 20:37:35 +0000104" integers
Bram Moolenaar06b5d512010-05-22 15:37:44 +0200105syn match lifelinesNumber "-\=\<\d\+\>"
Bram Moolenaar7fc904b2006-04-13 20:37:35 +0000106"floats, with dot
Bram Moolenaar06b5d512010-05-22 15:37:44 +0200107syn match lifelinesNumber "-\=\<\d\+\.\d*\>"
Bram Moolenaar7fc904b2006-04-13 20:37:35 +0000108"floats, starting with a dot
Bram Moolenaar06b5d512010-05-22 15:37:44 +0200109syn match lifelinesNumber "-\=\.\d\+\>"
110
111" folding using {}
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200112syn region lifelinesFoldBlock start="{" end="}" transparent fold
Bram Moolenaar071d4272004-06-13 20:20:40 +0000113
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.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200123" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +0000124
Bram Moolenaar071d4272004-06-13 20:20:40 +0000125
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200126hi 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150
Bram Moolenaar071d4272004-06-13 20:20:40 +0000151
152let b:current_syntax = "lifelines"
153
Bram Moolenaar06b5d512010-05-22 15:37:44 +0200154" vim: ts=8 sw=4