1" Vim syntax file 2" Language: SiCAD (procedure language) 3" Maintainer: Zsolt Branyiczky <zbranyiczky@lmark.mgx.hu> 4" Last Change: 2003 May 11 5" URL: http://lmark.mgx.hu:81/download/vim/sicad.vim 6 7" quit when a syntax file was already loaded 8if exists("b:current_syntax") 9 finish 10endif 11 12" use SQL highlighting after 'sql' command 13syn include @SQL syntax/sql.vim 14unlet b:current_syntax 15 16" spaces are used in (auto)indents since sicad hates tabulator characters 17setlocal expandtab 18 19" ignore case 20syn case ignore 21 22" most important commands - not listed by ausku 23syn keyword sicadStatement define 24syn keyword sicadStatement dialog 25syn keyword sicadStatement do 26syn keyword sicadStatement dop contained 27syn keyword sicadStatement end 28syn keyword sicadStatement enddo 29syn keyword sicadStatement endp 30syn keyword sicadStatement erroff 31syn keyword sicadStatement erron 32syn keyword sicadStatement exitp 33syn keyword sicadGoto goto contained 34syn keyword sicadStatement hh 35syn keyword sicadStatement if 36syn keyword sicadStatement in 37syn keyword sicadStatement msgsup 38syn keyword sicadStatement out 39syn keyword sicadStatement padd 40syn keyword sicadStatement parbeg 41syn keyword sicadStatement parend 42syn keyword sicadStatement pdoc 43syn keyword sicadStatement pprot 44syn keyword sicadStatement procd 45syn keyword sicadStatement procn 46syn keyword sicadStatement psav 47syn keyword sicadStatement psel 48syn keyword sicadStatement psymb 49syn keyword sicadStatement ptrace 50syn keyword sicadStatement ptstat 51syn keyword sicadStatement set 52syn keyword sicadStatement sql contained 53syn keyword sicadStatement step 54syn keyword sicadStatement sys 55syn keyword sicadStatement ww 56 57" functions 58syn match sicadStatement "\<atan("me=e-1 59syn match sicadStatement "\<atan2("me=e-1 60syn match sicadStatement "\<cos("me=e-1 61syn match sicadStatement "\<dist("me=e-1 62syn match sicadStatement "\<exp("me=e-1 63syn match sicadStatement "\<log("me=e-1 64syn match sicadStatement "\<log10("me=e-1 65syn match sicadStatement "\<sin("me=e-1 66syn match sicadStatement "\<sqrt("me=e-1 67syn match sicadStatement "\<tanh("me=e-1 68syn match sicadStatement "\<x("me=e-1 69syn match sicadStatement "\<y("me=e-1 70syn match sicadStatement "\<v("me=e-1 71syn match sicadStatement "\<x%g\=p[0-9]\{1,2}\>"me=s+1 72syn match sicadStatement "\<y%g\=p[0-9]\{1,2}\>"me=s+1 73 74" logical operators 75syn match sicadOperator "\.and\." 76syn match sicadOperator "\.ne\." 77syn match sicadOperator "\.not\." 78syn match sicadOperator "\.eq\." 79syn match sicadOperator "\.ge\." 80syn match sicadOperator "\.gt\." 81syn match sicadOperator "\.le\." 82syn match sicadOperator "\.lt\." 83syn match sicadOperator "\.or\." 84syn match sicadOperator "\.eqv\." 85syn match sicadOperator "\.neqv\." 86 87" variable name 88syn match sicadIdentifier "%g\=[irpt][0-9]\{1,2}\>" 89syn match sicadIdentifier "%g\=l[0-9]\>" 90syn match sicadIdentifier "%g\=[irptl]("me=e-1 91syn match sicadIdentifier "%error\>" 92syn match sicadIdentifier "%nsel\>" 93syn match sicadIdentifier "%nvar\>" 94syn match sicadIdentifier "%scl\>" 95syn match sicadIdentifier "%wd\>" 96syn match sicadIdentifier "\$[irt][0-9]\{1,2}\>" contained 97 98" label 99syn match sicadLabel1 "^ *\.[a-z][a-z0-9]\{0,7} \+[^ ]"me=e-1 100syn match sicadLabel1 "^ *\.[a-z][a-z0-9]\{0,7}\*"me=e-1 101syn match sicadLabel2 "\<goto \.\=[a-z][a-z0-9]\{0,7}\>" contains=sicadGoto 102syn match sicadLabel2 "\<goto\.[a-z][a-z0-9]\{0,7}\>" contains=sicadGoto 103 104" boolean 105syn match sicadBoolean "\.[ft]\." 106" integer without sign 107syn match sicadNumber "\<[0-9]\+\>" 108" floating point number, with dot, optional exponent 109syn match sicadFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>" 110" floating point number, starting with a dot, optional exponent 111syn match sicadFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>" 112" floating point number, without dot, with exponent 113syn match sicadFloat "\<[0-9]\+e[-+]\=[0-9]\+\>" 114 115" without this extraString definition a ' ; ' could stop the comment 116syn region sicadString_ transparent start=+'+ end=+'+ oneline contained 117" string 118syn region sicadString start=+'+ end=+'+ oneline 119 120" comments - nasty ones in sicad 121 122" - ' * blabla' or ' * blabla;' 123syn region sicadComment start="^ *\*" skip='\\ *$' end=";"me=e-1 end="$" contains=sicadString_ 124" - ' .LABEL03 * blabla' or ' .LABEL03 * blabla;' 125syn region sicadComment start="^ *\.[a-z][a-z0-9]\{0,7} *\*" skip='\\ *$' end=";"me=e-1 end="$" contains=sicadLabel1,sicadString_ 126" - '; * blabla' or '; * blabla;' 127syn region sicadComment start="; *\*"ms=s+1 skip='\\ *$' end=";"me=e-1 end="$" contains=sicadString_ 128" - comments between docbeg and docend 129syn region sicadComment matchgroup=sicadStatement start="\<docbeg\>" end="\<docend\>" 130 131" catch \ at the end of line 132syn match sicadLineCont "\\ *$" 133 134" parameters in dop block - for the time being it is not used 135"syn match sicadParameter " [a-z][a-z0-9]*[=:]"me=e-1 contained 136" dop block - for the time being it is not used 137syn region sicadDopBlock transparent matchgroup=sicadStatement start='\<dop\>' skip='\\ *$' end=';'me=e-1 end='$' contains=ALL 138 139" sql block - new highlighting mode is used (see syn include) 140syn region sicadSqlBlock transparent matchgroup=sicadStatement start='\<sql\>' skip='\\ *$' end=';'me=e-1 end='$' contains=@SQL,sicadIdentifier,sicadLineCont 141 142" synchronizing 143syn sync clear " clear sync used in sql.vim 144syn sync match sicadSyncComment groupthere NONE "\<docend\>" 145syn sync match sicadSyncComment grouphere sicadComment "\<docbeg\>" 146" next line must be examined too 147syn sync linecont "\\ *$" 148 149" catch error caused by tabulator key 150syn match sicadError "\t" 151" catch errors caused by wrong parenthesis 152"syn region sicadParen transparent start='(' end=')' contains=ALLBUT,sicadParenError 153syn region sicadParen transparent start='(' skip='\\ *$' end=')' end='$' contains=ALLBUT,sicadParenError 154syn match sicadParenError ')' 155"syn region sicadApostrophe transparent start=+'+ end=+'+ contains=ALLBUT,sicadApostropheError 156"syn match sicadApostropheError +'+ 157" not closed apostrophe 158"syn region sicadError start=+'+ end=+$+ contains=ALLBUT,sicadApostropheError 159"syn match sicadApostropheError +'[^']*$+me=s+1 contained 160 161" SICAD keywords 162syn keyword sicadStatement abst add addsim adrin aib 163syn keyword sicadStatement aibzsn aidump aifgeo aisbrk alknam 164syn keyword sicadStatement alknr alksav alksel alktrc alopen 165syn keyword sicadStatement ansbo aractiv ararea arareao ararsfs 166syn keyword sicadStatement arbuffer archeck arcomv arcont arconv 167syn keyword sicadStatement arcopy arcopyo arcorr arcreate arerror 168syn keyword sicadStatement areval arflfm arflop arfrast argbkey 169syn keyword sicadStatement argenf argraph argrapho arinters arkompfl 170syn keyword sicadStatement arlasso arlcopy arlgraph arline arlining 171syn keyword sicadStatement arlisly armakea armemo arnext aroverl 172syn keyword sicadStatement arovers arparkmd arpars arrefp arselect 173syn keyword sicadStatement arset arstruct arunify arupdate arvector 174syn keyword sicadStatement arveinfl arvflfl arvoroni ausku basis 175syn keyword sicadStatement basisaus basisdar basisnr bebos befl 176syn keyword sicadStatement befla befli befls beo beorta 177syn keyword sicadStatement beortn bep bepan bepap bepola 178syn keyword sicadStatement bepoln bepsn bepsp ber berili 179syn keyword sicadStatement berk bewz bkl bli bma 180syn keyword sicadStatement bmakt bmakts bmbm bmerk bmerw 181syn keyword sicadStatement bmerws bminit bmk bmorth bmos 182syn keyword sicadStatement bmoss bmpar bmsl bmsum bmsums 183syn keyword sicadStatement bmver bmvero bmw bo bta 184syn keyword sicadStatement buffer bvl bw bza bzap 185syn keyword sicadStatement bzd bzgera bzorth cat catel 186syn keyword sicadStatement cdbdiff ce cgmparam close closesim 187syn keyword sicadStatement comgener comp comp conclose conclose coninfo 188syn keyword sicadStatement conopen conread contour conwrite cop 189syn keyword sicadStatement copar coparp coparp2 copel cr 190syn keyword sicadStatement cs cstat cursor d da 191syn keyword sicadStatement dal dasp dasps dataout dcol 192syn keyword sicadStatement dd defsr del delel deskrdef 193syn keyword sicadStatement df dfn dfns dfpos dfr 194syn keyword sicadStatement dgd dgm dgp dgr dh 195syn keyword sicadStatement diag diaus dir disbsd dkl 196syn keyword sicadStatement dktx dkur dlgfix dlgfre dma 197syn keyword sicadStatement dprio dr druse dsel dskinfo 198syn keyword sicadStatement dsr dv dve eba ebd 199syn keyword sicadStatement ebdmod ebs edbsdbin edbssnin edbsvtin 200syn keyword sicadStatement edt egaus egdef egdefs eglist 201syn keyword sicadStatement egloe egloenp egloes egxx eib 202syn keyword sicadStatement ekur ekuradd elel elpos epg 203syn keyword sicadStatement esau esauadd esek eta etap 204syn keyword sicadStatement etav feparam ficonv filse fl 205syn keyword sicadStatement fli flin flini flinit flins 206syn keyword sicadStatement flkor fln flnli flop flout 207syn keyword sicadStatement flowert flparam flraster flsy flsyd 208syn keyword sicadStatement flsym flsyms flsymt fmtatt fmtdia 209syn keyword sicadStatement fmtlib fpg gbadddb gbaim gbanrs 210syn keyword sicadStatement gbatw gbau gbaudit gbclosp gbcredic 211syn keyword sicadStatement gbcreem gbcreld gbcresdb gbcretd gbde 212syn keyword sicadStatement gbdeldb gbdeldic gbdelem gbdelld gbdelref 213syn keyword sicadStatement gbdeltd gbdisdb gbdisem gbdisld gbdistd 214syn keyword sicadStatement gbebn gbemau gbepsv gbgetdet gbgetes 215syn keyword sicadStatement gbgetmas gbgqel gbgqelr gbgqsa gbgrant 216syn keyword sicadStatement gbimpdic gbler gblerb gblerf gbles 217syn keyword sicadStatement gblocdic gbmgmg gbmntdb gbmoddb gbnam 218syn keyword sicadStatement gbneu gbopenp gbpoly gbpos gbpruef 219syn keyword sicadStatement gbpruefg gbps gbqgel gbqgsa gbrefdic 220syn keyword sicadStatement gbreftab gbreldic gbresem gbrevoke gbsav 221syn keyword sicadStatement gbsbef gbsddk gbsicu gbsrt gbss 222syn keyword sicadStatement gbstat gbsysp gbszau gbubp gbueb 223syn keyword sicadStatement gbunmdb gbuseem gbw gbweg gbwieh 224syn keyword sicadStatement gbzt gelp gera getvar hgw 225syn keyword sicadStatement hpg hr0 hra hrar icclchan 226syn keyword sicadStatement iccrecon icdescon icfree icgetcon icgtresp 227syn keyword sicadStatement icopchan icputcon icreacon icreqd icreqnw 228syn keyword sicadStatement icreqw icrespd icresrve icwricon imsget 229syn keyword sicadStatement imsgqel imsmget imsplot imsprint inchk 230syn keyword sicadStatement inf infd inst kbml kbmls 231syn keyword sicadStatement kbmm kbmms kbmt kbmtdps kbmts 232syn keyword sicadStatement khboe khbol khdob khe khetap 233syn keyword sicadStatement khfrw khktk khlang khld khmfrp 234syn keyword sicadStatement khmks khms khpd khpfeil khpl 235syn keyword sicadStatement khprofil khrand khsa khsabs khsaph 236syn keyword sicadStatement khsd khsdl khse khskbz khsna 237syn keyword sicadStatement khsnum khsob khspos khsvph khtrn 238syn keyword sicadStatement khver khzpe khzpl kib kldat 239syn keyword sicadStatement klleg klsch klsym klvert kmpg 240syn keyword sicadStatement kmtlage kmtp kmtps kodef kodefp 241syn keyword sicadStatement kodefs kok kokp kolae kom 242syn keyword sicadStatement kontly kopar koparp kopg kosy 243syn keyword sicadStatement kp kr krsek krtclose krtopen 244syn keyword sicadStatement ktk lad lae laesel language 245syn keyword sicadStatement lasso lbdes lcs ldesk ldesks 246syn keyword sicadStatement le leak leattdes leba lebas 247syn keyword sicadStatement lebaznp lebd lebm lebv lebvaus 248syn keyword sicadStatement lebvlist lede ledel ledepo ledepol 249syn keyword sicadStatement ledepos leder ledist ledm lee 250syn keyword sicadStatement leeins lees lege lekr lekrend 251syn keyword sicadStatement lekwa lekwas lel lelh lell 252syn keyword sicadStatement lelp lem lena lend lenm 253syn keyword sicadStatement lep lepe lepee lepko lepl 254syn keyword sicadStatement lepmko lepmkop lepos leposm leqs 255syn keyword sicadStatement leqsl leqssp leqsv leqsvov les 256syn keyword sicadStatement lesch lesr less lestd let 257syn keyword sicadStatement letaum letl lev levm levtm 258syn keyword sicadStatement levtp levtr lew lewm lexx 259syn keyword sicadStatement lfs li lining lldes lmode 260syn keyword sicadStatement loedk loepkt lop lose loses 261syn keyword sicadStatement lp lppg lppruef lr ls 262syn keyword sicadStatement lsop lsta lstat ly lyaus 263syn keyword sicadStatement lz lza lzae lzbz lze 264syn keyword sicadStatement lznr lzo lzpos ma ma0 265syn keyword sicadStatement ma1 mad map mapoly mcarp 266syn keyword sicadStatement mccfr mccgr mcclr mccrf mcdf 267syn keyword sicadStatement mcdma mcdr mcdrp mcdve mcebd 268syn keyword sicadStatement mcgse mcinfo mcldrp md me 269syn keyword sicadStatement mefd mefds minmax mipg ml 270syn keyword sicadStatement mmcmdme mmdbf mmdellb mmdir mmdome 271syn keyword sicadStatement mmfsb mminfolb mmlapp mmlbf mmlistlb 272syn keyword sicadStatement mmloadcm mmmsg mmreadlb mmsetlb mmshowcm 273syn keyword sicadStatement mmstatme mnp mpo mr mra 274syn keyword sicadStatement ms msav msgout msgsnd msp 275syn keyword sicadStatement mspf mtd nasel ncomp new 276syn keyword sicadStatement nlist nlistlt nlistly nlistnp nlistpo 277syn keyword sicadStatement np npa npdes npe npem 278syn keyword sicadStatement npinfa npruef npsat npss npssa 279syn keyword sicadStatement ntz oa oan odel odf 280syn keyword sicadStatement odfx oj oja ojaddsk ojaed 281syn keyword sicadStatement ojaeds ojaef ojaefs ojaen ojak 282syn keyword sicadStatement ojaks ojakt ojakz ojalm ojatkis 283syn keyword sicadStatement ojatt ojatw ojbsel ojcasel ojckon 284syn keyword sicadStatement ojde ojdtl ojeb ojebd ojel 285syn keyword sicadStatement ojelpas ojesb ojesbd ojex ojezge 286syn keyword sicadStatement ojko ojlb ojloe ojlsb ojmerk 287syn keyword sicadStatement ojmos ojnam ojpda ojpoly ojprae 288syn keyword sicadStatement ojs ojsak ojsort ojstrukt ojsub 289syn keyword sicadStatement ojtdef ojvek ojx old oldd 290syn keyword sicadStatement op opa opa1 open opensim 291syn keyword sicadStatement opnbsd orth osanz ot otp 292syn keyword sicadStatement otrefp param paranf pas passw 293syn keyword sicadStatement pcatchf pda pdadd pg pg0 294syn keyword sicadStatement pgauf pgaufsel pgb pgko pgm 295syn keyword sicadStatement pgr pgvs pily pkpg plot 296syn keyword sicadStatement plotf plotfr pmap pmdata pmdi 297syn keyword sicadStatement pmdp pmeb pmep pminfo pmlb 298syn keyword sicadStatement pmli pmlp pmmod pnrver poa 299syn keyword sicadStatement pos posa posaus post printfr 300syn keyword sicadStatement protect prs prssy prsym ps 301syn keyword sicadStatement psadd psclose psopen psparam psprw 302syn keyword sicadStatement psres psstat psw pswr qualif 303syn keyword sicadStatement rahmen raster rasterd rbbackup rbchang2 304syn keyword sicadStatement rbchange rbcmd rbcoldst rbcolor rbcopy 305syn keyword sicadStatement rbcut rbcut2 rbdbcl rbdbload rbdbop 306syn keyword sicadStatement rbdbwin rbdefs rbedit rbfdel rbfill 307syn keyword sicadStatement rbfill2 rbfload rbfload2 rbfnew rbfnew2 308syn keyword sicadStatement rbfpar rbfree rbg rbgetcol rbgetdst 309syn keyword sicadStatement rbinfo rbpaste rbpixel rbrstore rbsnap 310syn keyword sicadStatement rbsta rbtile rbtrpix rbvtor rcol 311syn keyword sicadStatement rd rdchange re reb rebmod 312syn keyword sicadStatement refunc ren renel rk rkpos 313syn keyword sicadStatement rohr rohrpos rpr rr rr0 314syn keyword sicadStatement rra rrar rs samtosdb sav 315syn keyword sicadStatement savd savesim savx scol scopy 316syn keyword sicadStatement scopye sdbtosam sddk sdwr se 317syn keyword sicadStatement selaus selpos seman semi sesch 318syn keyword sicadStatement setscl setvar sfclntpf sfconn sffetchf 319syn keyword sicadStatement sffpropi sfftypi sfqugeoc sfquwhcl sfself 320syn keyword sicadStatement sfstat sftest sge sid sie 321syn keyword sicadStatement sig sigp skk skks sn 322syn keyword sicadStatement sn21 snpa snpar snparp snparps 323syn keyword sicadStatement snpars snpas snpd snpi snpkor 324syn keyword sicadStatement snpl snpm sob sob0 sobloe 325syn keyword sicadStatement sobs sof sop split spr 326syn keyword sicadStatement sqdadd sqdlad sqdold sqdsav 327syn keyword sicadStatement sr sres srt sset stat 328syn keyword sicadStatement stdtxt string strukt strupru suinfl 329syn keyword sicadStatement suinflk suinfls supo supo1 sva 330syn keyword sicadStatement svr sy sya syly sysout 331syn keyword sicadStatement syu syux taa tabeg tabl 332syn keyword sicadStatement tabm tam tanr tapg tapos 333syn keyword sicadStatement tarkd tas tase tb tbadd 334syn keyword sicadStatement tbd tbext tbget tbint tbout 335syn keyword sicadStatement tbput tbsat tbsel tbstr tcaux 336syn keyword sicadStatement tccable tcchkrep tccomm tccond tcdbg 337syn keyword sicadStatement tcgbnr tcgrpos tcinit tclconv tcmodel 338syn keyword sicadStatement tcnwe tcpairs tcpath tcrect tcrmdli 339syn keyword sicadStatement tcscheme tcschmap tcse tcselc tcstar 340syn keyword sicadStatement tcstrman tcsubnet tcsymbol tctable tcthrcab 341syn keyword sicadStatement tctrans tctst tdb tdbdel tdbget 342syn keyword sicadStatement tdblist tdbput tgmod titel tmoff 343syn keyword sicadStatement tmon tp tpa tps tpta 344syn keyword sicadStatement tra trans transkdo transopt transpro 345syn keyword sicadStatement triangle trm trpg trrkd trs 346syn keyword sicadStatement ts tsa tx txa txchk 347syn keyword sicadStatement txcng txju txl txp txpv 348syn keyword sicadStatement txtcmp txv txz uckon uiinfo 349syn keyword sicadStatement uistatus umdk umdk1 umdka umge 350syn keyword sicadStatement umges umr verbo verflli verif 351syn keyword sicadStatement verly versinfo vfg vpactive vpcenter 352syn keyword sicadStatement vpcreate vpdelete vpinfo vpmodify vpscroll 353syn keyword sicadStatement vpsta wabsym wzmerk zdrhf zdrhfn 354syn keyword sicadStatement zdrhfw zdrhfwn zefp zfl zflaus 355syn keyword sicadStatement zka zlel zlels zortf zortfn 356syn keyword sicadStatement zortfw zortfwn zortp zortpn zparb 357syn keyword sicadStatement zparbn zparf zparfn zparfw zparfwn 358syn keyword sicadStatement zparp zparpn zwinkp zwinkpn 359 360" Define the default highlighting. 361" Only when an item doesn't have highlighting yet 362 363hi def link sicadLabel PreProc 364hi def link sicadLabel1 sicadLabel 365hi def link sicadLabel2 sicadLabel 366hi def link sicadConditional Conditional 367hi def link sicadBoolean Boolean 368hi def link sicadNumber Number 369hi def link sicadFloat Float 370hi def link sicadOperator Operator 371hi def link sicadStatement Statement 372hi def link sicadParameter sicadStatement 373hi def link sicadGoto sicadStatement 374hi def link sicadLineCont sicadStatement 375hi def link sicadString String 376hi def link sicadComment Comment 377hi def link sicadSpecial Special 378hi def link sicadIdentifier Type 379" hi def link sicadIdentifier Identifier 380hi def link sicadError Error 381hi def link sicadParenError sicadError 382hi def link sicadApostropheError sicadError 383hi def link sicadStringError sicadError 384hi def link sicadCommentError sicadError 385" hi def link sqlStatement Special " modified highlight group in sql.vim 386 387 388let b:current_syntax = "sicad" 389 390" vim: ts=8 sw=2 391