1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: OPL 3071d4279SBram Moolenaar" Maintainer: Czo <[email protected]> 4b8ff1fb5SBram Moolenaar" Last Change: 2012 Feb 03 by Thilo Six 55c73622aSBram Moolenaar" $Id: opl.vim,v 1.1 2004/06/13 17:34:11 vimboss Exp $ 6071d4279SBram Moolenaar 7071d4279SBram Moolenaar" Open Psion Language... (EPOC16/EPOC32) 8071d4279SBram Moolenaar 989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1089bcfda6SBram Moolenaarif exists("b:current_syntax") 11071d4279SBram Moolenaar finish 12071d4279SBram Moolenaarendif 13071d4279SBram Moolenaar 14b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo 15b8ff1fb5SBram Moolenaarset cpo&vim 16b8ff1fb5SBram Moolenaar 17071d4279SBram Moolenaar" case is not significant 18071d4279SBram Moolenaarsyn case ignore 19071d4279SBram Moolenaar 20071d4279SBram Moolenaar" A bunch of useful OPL keywords 21071d4279SBram Moolenaarsyn keyword OPLStatement proc endp abs acos addr adjustalloc alert alloc app 22071d4279SBram Moolenaarsyn keyword OPLStatement append appendsprite asc asin at atan back beep 23071d4279SBram Moolenaarsyn keyword OPLStatement begintrans bookmark break busy byref cache 24071d4279SBram Moolenaarsyn keyword OPLStatement cachehdr cacherec cachetidy call cancel caption 25071d4279SBram Moolenaarsyn keyword OPLStatement changesprite chr$ clearflags close closesprite cls 26071d4279SBram Moolenaarsyn keyword OPLStatement cmd$ committrans compact compress const continue 27071d4279SBram Moolenaarsyn keyword OPLStatement copy cos count create createsprite cursor 28071d4279SBram Moolenaarsyn keyword OPLStatement datetosecs datim$ day dayname$ days daystodate 29071d4279SBram Moolenaarsyn keyword OPLStatement dbuttons dcheckbox dchoice ddate declare dedit 30071d4279SBram Moolenaarsyn keyword OPLStatement deditmulti defaultwin deg delete dfile dfloat 31071d4279SBram Moolenaarsyn keyword OPLStatement dialog diaminit diampos dinit dir$ dlong do dow 32071d4279SBram Moolenaarsyn keyword OPLStatement dposition drawsprite dtext dtime dxinput edit else 33071d4279SBram Moolenaarsyn keyword OPLStatement elseif enda endif endv endwh entersend entersend0 34071d4279SBram Moolenaarsyn keyword OPLStatement eof erase err err$ errx$ escape eval exist exp ext 35071d4279SBram Moolenaarsyn keyword OPLStatement external find findfield findlib first fix$ flags 36071d4279SBram Moolenaarsyn keyword OPLStatement flt font freealloc gat gborder gbox gbutton 37071d4279SBram Moolenaarsyn keyword OPLStatement gcircle gclock gclose gcls gcolor gcopy gcreate 38071d4279SBram Moolenaarsyn keyword OPLStatement gcreatebit gdrawobject gellipse gen$ get get$ 39071d4279SBram Moolenaarsyn keyword OPLStatement getcmd$ getdoc$ getevent getevent32 geteventa32 40071d4279SBram Moolenaarsyn keyword OPLStatement geteventc getlibh gfill gfont ggmode ggrey gheight 41071d4279SBram Moolenaarsyn keyword OPLStatement gidentity ginfo ginfo32 ginvert giprint glineby 42071d4279SBram Moolenaarsyn keyword OPLStatement glineto gloadbit gloadfont global gmove gorder 43071d4279SBram Moolenaarsyn keyword OPLStatement goriginx goriginy goto gotomark gpatt gpeekline 44071d4279SBram Moolenaarsyn keyword OPLStatement gpoly gprint gprintb gprintclip grank gsavebit 45071d4279SBram Moolenaarsyn keyword OPLStatement gscroll gsetpenwidth gsetwin gstyle gtmode gtwidth 46071d4279SBram Moolenaarsyn keyword OPLStatement gunloadfont gupdate guse gvisible gwidth gx 47071d4279SBram Moolenaarsyn keyword OPLStatement gxborder gxprint gy hex$ hour iabs icon if include 48071d4279SBram Moolenaarsyn keyword OPLStatement input insert int intf intrans key key$ keya keyc 49071d4279SBram Moolenaarsyn keyword OPLStatement killmark kmod last lclose left$ len lenalloc 50071d4279SBram Moolenaarsyn keyword OPLStatement linklib ln loadlib loadm loc local lock log lopen 51071d4279SBram Moolenaarsyn keyword OPLStatement lower$ lprint max mcard mcasc mean menu mid$ min 52071d4279SBram Moolenaarsyn keyword OPLStatement minit minute mkdir modify month month$ mpopup 53071d4279SBram Moolenaarsyn keyword OPLStatement newobj newobjh next notes num$ odbinfo off onerr 54071d4279SBram Moolenaarsyn keyword OPLStatement open openr opx os parse$ path pause peek pi 55071d4279SBram Moolenaarsyn keyword OPLStatement pointerfilter poke pos position possprite print 56071d4279SBram Moolenaarsyn keyword OPLStatement put rad raise randomize realloc recsize rename 57071d4279SBram Moolenaarsyn keyword OPLStatement rept$ return right$ rmdir rnd rollback sci$ screen 58071d4279SBram Moolenaarsyn keyword OPLStatement screeninfo second secstodate send setdoc setflags 59071d4279SBram Moolenaarsyn keyword OPLStatement setname setpath sin space sqr statuswin 60071d4279SBram Moolenaarsyn keyword OPLStatement statwininfo std stop style sum tan testevent trap 61071d4279SBram Moolenaarsyn keyword OPLStatement type uadd unloadlib unloadm until update upper$ 62071d4279SBram Moolenaarsyn keyword OPLStatement use usr usr$ usub val var vector week while year 63071d4279SBram Moolenaar" syn keyword OPLStatement rem 64071d4279SBram Moolenaar 65071d4279SBram Moolenaar 66071d4279SBram Moolenaarsyn match OPLNumber "\<\d\+\>" 67071d4279SBram Moolenaarsyn match OPLNumber "\<\d\+\.\d*\>" 68071d4279SBram Moolenaarsyn match OPLNumber "\.\d\+\>" 69071d4279SBram Moolenaar 70071d4279SBram Moolenaarsyn region OPLString start=+"+ end=+"+ 71071d4279SBram Moolenaarsyn region OPLComment start="REM[\t ]" end="$" 72071d4279SBram Moolenaarsyn match OPLMathsOperator "-\|=\|[:<>+\*^/\\]" 73071d4279SBram Moolenaar 74071d4279SBram Moolenaar" Define the default highlighting. 7589bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 76071d4279SBram Moolenaar 77*f37506f6SBram Moolenaarhi def link OPLStatement Statement 78*f37506f6SBram Moolenaarhi def link OPLNumber Number 79*f37506f6SBram Moolenaarhi def link OPLString String 80*f37506f6SBram Moolenaarhi def link OPLComment Comment 81*f37506f6SBram Moolenaarhi def link OPLMathsOperator Conditional 82*f37506f6SBram Moolenaar" hi def link OPLError Error 83071d4279SBram Moolenaar 84071d4279SBram Moolenaar 85071d4279SBram Moolenaarlet b:current_syntax = "opl" 86071d4279SBram Moolenaar 87b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save 88b8ff1fb5SBram Moolenaarunlet s:cpo_save 89071d4279SBram Moolenaar" vim: ts=8 90