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