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