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