1" Vim syntax file 2" Language: OPL 3" Maintainer: Czo <Olivier.Sirol@lip6.fr> 4" $Id: opl.vim,v 1.1 2004/06/13 17:34:11 vimboss Exp $ 5 6" Open Psion Language... (EPOC16/EPOC32) 7 8" For version 5.x: Clear all syntax items 9" For version 6.x: Quit when a syntax file was already loaded 10if version < 600 11 syntax clear 12elseif exists("b:current_syntax") 13 finish 14endif 15 16" case is not significant 17syn case ignore 18 19" A bunch of useful OPL keywords 20syn keyword OPLStatement proc endp abs acos addr adjustalloc alert alloc app 21syn keyword OPLStatement append appendsprite asc asin at atan back beep 22syn keyword OPLStatement begintrans bookmark break busy byref cache 23syn keyword OPLStatement cachehdr cacherec cachetidy call cancel caption 24syn keyword OPLStatement changesprite chr$ clearflags close closesprite cls 25syn keyword OPLStatement cmd$ committrans compact compress const continue 26syn keyword OPLStatement copy cos count create createsprite cursor 27syn keyword OPLStatement datetosecs datim$ day dayname$ days daystodate 28syn keyword OPLStatement dbuttons dcheckbox dchoice ddate declare dedit 29syn keyword OPLStatement deditmulti defaultwin deg delete dfile dfloat 30syn keyword OPLStatement dialog diaminit diampos dinit dir$ dlong do dow 31syn keyword OPLStatement dposition drawsprite dtext dtime dxinput edit else 32syn keyword OPLStatement elseif enda endif endv endwh entersend entersend0 33syn keyword OPLStatement eof erase err err$ errx$ escape eval exist exp ext 34syn keyword OPLStatement external find findfield findlib first fix$ flags 35syn keyword OPLStatement flt font freealloc gat gborder gbox gbutton 36syn keyword OPLStatement gcircle gclock gclose gcls gcolor gcopy gcreate 37syn keyword OPLStatement gcreatebit gdrawobject gellipse gen$ get get$ 38syn keyword OPLStatement getcmd$ getdoc$ getevent getevent32 geteventa32 39syn keyword OPLStatement geteventc getlibh gfill gfont ggmode ggrey gheight 40syn keyword OPLStatement gidentity ginfo ginfo32 ginvert giprint glineby 41syn keyword OPLStatement glineto gloadbit gloadfont global gmove gorder 42syn keyword OPLStatement goriginx goriginy goto gotomark gpatt gpeekline 43syn keyword OPLStatement gpoly gprint gprintb gprintclip grank gsavebit 44syn keyword OPLStatement gscroll gsetpenwidth gsetwin gstyle gtmode gtwidth 45syn keyword OPLStatement gunloadfont gupdate guse gvisible gwidth gx 46syn keyword OPLStatement gxborder gxprint gy hex$ hour iabs icon if include 47syn keyword OPLStatement input insert int intf intrans key key$ keya keyc 48syn keyword OPLStatement killmark kmod last lclose left$ len lenalloc 49syn keyword OPLStatement linklib ln loadlib loadm loc local lock log lopen 50syn keyword OPLStatement lower$ lprint max mcard mcasc mean menu mid$ min 51syn keyword OPLStatement minit minute mkdir modify month month$ mpopup 52syn keyword OPLStatement newobj newobjh next notes num$ odbinfo off onerr 53syn keyword OPLStatement open openr opx os parse$ path pause peek pi 54syn keyword OPLStatement pointerfilter poke pos position possprite print 55syn keyword OPLStatement put rad raise randomize realloc recsize rename 56syn keyword OPLStatement rept$ return right$ rmdir rnd rollback sci$ screen 57syn keyword OPLStatement screeninfo second secstodate send setdoc setflags 58syn keyword OPLStatement setname setpath sin space sqr statuswin 59syn keyword OPLStatement statwininfo std stop style sum tan testevent trap 60syn keyword OPLStatement type uadd unloadlib unloadm until update upper$ 61syn keyword OPLStatement use usr usr$ usub val var vector week while year 62" syn keyword OPLStatement rem 63 64 65syn match OPLNumber "\<\d\+\>" 66syn match OPLNumber "\<\d\+\.\d*\>" 67syn match OPLNumber "\.\d\+\>" 68 69syn region OPLString start=+"+ end=+"+ 70syn region OPLComment start="REM[\t ]" end="$" 71syn match OPLMathsOperator "-\|=\|[:<>+\*^/\\]" 72 73" Define the default highlighting. 74" For version 5.7 and earlier: only when not done already 75" For version 5.8 and later: only when an item doesn't have highlighting yet 76if version >= 508 || !exists("did_OPL_syntax_inits") 77 if version < 508 78 let did_OPL_syntax_inits = 1 79 command -nargs=+ HiLink hi link <args> 80 else 81 command -nargs=+ HiLink hi def link <args> 82 endif 83 84 HiLink OPLStatement Statement 85 HiLink OPLNumber Number 86 HiLink OPLString String 87 HiLink OPLComment Comment 88 HiLink OPLMathsOperator Conditional 89" HiLink OPLError Error 90 91 delcommand HiLink 92endif 93 94let b:current_syntax = "opl" 95 96" vim: ts=8 97