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