xref: /vim-8.2.3635/runtime/syntax/opl.vim (revision f37506f6)
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