xref: /vim-8.2.3635/runtime/syntax/pli.vim (revision f37506f6)
1e2db695dSBram Moolenaar" Vim syntax file
2e2db695dSBram Moolenaar" Modified from  http://plnet.org/files/vim/
3e2db695dSBram Moolenaar" using keywords from http://www.kednos.com/pli/docs/reference_manual/6291pro_contents.html
4e2db695dSBram Moolenaar"    2012-11-13 Alan Thompson
5e2db695dSBram Moolenaar
689bcfda6SBram Moolenaar" quit when a syntax file was already loaded
789bcfda6SBram Moolenaarif exists("b:current_syntax")
8e2db695dSBram Moolenaar    finish
9e2db695dSBram Moolenaarendif
10e2db695dSBram Moolenaar
11e2db695dSBram Moolenaarsyn case ignore
12e2db695dSBram Moolenaar
13e2db695dSBram Moolenaar" Todo.
14e2db695dSBram Moolenaarsyn keyword pl1Todo TODO FIXME XXX DEBUG NOTE
15e2db695dSBram Moolenaar
16e2db695dSBram Moolenaar" pl1CommentGroup allows adding matches for special things in comments
17e2db695dSBram Moolenaar" 20010723az: Added this so that these could be matched in comments...
18e2db695dSBram Moolenaarsyn cluster pl1CommentGroup contains=pl1Todo
19e2db695dSBram Moolenaar
20e2db695dSBram Moolenaarsyn match   pl1Garbage        "[^ \t()]"
21e2db695dSBram Moolenaarsyn match   pl1Identifier     "[a-z][a-z0-9$_#]*"
22e2db695dSBram Moolenaarsyn match   pl1HostIdentifier ":[a-z][a-z0-9$_#]*"
23e2db695dSBram Moolenaar
24e2db695dSBram Moolenaar" 20010723az: When wanted, highlight the trailing whitespace -- this is
25e2db695dSBram Moolenaar" based on c_space_errors
26e2db695dSBram Moolenaarif exists("c_space_errors")
27e2db695dSBram Moolenaar    if !exists("c_no_trail_space_error")
28e2db695dSBram Moolenaar        syn match pl1SpaceError "\s\+$"
29e2db695dSBram Moolenaar    endif
30e2db695dSBram Moolenaar    if !exists("c_no_tab_space_error")
31e2db695dSBram Moolenaar        syn match pl1SpaceError " \+\t"me=e-1
32e2db695dSBram Moolenaar    endif
33e2db695dSBram Moolenaarendif
34e2db695dSBram Moolenaar
35e2db695dSBram Moolenaar" Symbols.
36e2db695dSBram Moolenaarsyn match   pl1Symbol         "\(;\|,\|\.\)"
37e2db695dSBram Moolenaarsyn match   pl1PreProcSym     "%"
38e2db695dSBram Moolenaar
39e2db695dSBram Moolenaar" Operators.
40e2db695dSBram Moolenaarsyn match   pl1Operator       "\(&\|:\|!\|+\|-\|\*\|/\|=\|<\|>\|@\|\*\*\|!=\|\~=\)"
41e2db695dSBram Moolenaarsyn match   pl1Operator       "\(\^\|\^=\|<=\|>=\|:=\|=>\|\.\.\|||\|<<\|>>\|\"\)"
42e2db695dSBram Moolenaar
43e2db695dSBram Moolenaar" Attributes
44e2db695dSBram Moolenaarsyn keyword pl1Attribute BACKWARDS BUFFERED BUF CONNECTED CONN CONSTANT EVENT
45e2db695dSBram Moolenaarsyn keyword pl1Attribute EXCLUSIVE EXCL FORMAT GENERIC IRREDUCIBLE IRRED LOCAL
46e2db695dSBram Moolenaarsyn keyword pl1Attribute REDUCIBLE RED TASK TRANSIENT UNBUFFERED UNBUF ALIGNED ANY
47e2db695dSBram Moolenaarsyn keyword pl1Attribute AREA AUTOMATIC AUTO BASED BUILTIN CONDITION COND CONTROLLED
48e2db695dSBram Moolenaarsyn keyword pl1Attribute CTL DEFINED DEF DIRECT ENVIRONMENT ENV EXTERNAL EXT FILE
49e2db695dSBram Moolenaarsyn keyword pl1Attribute GLOBALDEF GLOBALREF INITIAL INIT INPUT INTERNAL INT KEYED
50e2db695dSBram Moolenaarsyn keyword pl1Attribute LABEL LIKE LIST MEMBER NONVARYING NONVAR OPTIONAL OPTIONS
51e2db695dSBram Moolenaarsyn keyword pl1Attribute OUTPUT PARAMETER PARM PICTURE PIC POSITION POS PRECISION
52e2db695dSBram Moolenaarsyn keyword pl1Attribute PREC PRINT READONLY RECORD REFER RETURNS SEQUENTIAL SEQL
53e2db695dSBram Moolenaarsyn keyword pl1Attribute STATIC STREAM STRUCTURE TRUNCATE UNALIGNED UNAL UNION UPDATE
54e2db695dSBram Moolenaarsyn keyword pl1Attribute VARIABLE VARYING VAR COMPLEX CPLX REAL BINARY BIN BIT
55e2db695dSBram Moolenaarsyn keyword pl1Attribute CHARACTER CHAR DECIMAL DEC DESCRIPTOR DESC DIMENSION DIM
56e2db695dSBram Moolenaarsyn keyword pl1Attribute FIXED FLOAT OFFSET POINTER PTR REFERENCE VALUE VAL
57e2db695dSBram Moolenaar
58e2db695dSBram Moolenaar" Functions
59e2db695dSBram Moolenaarsyn keyword pl1Function AFTER ALL ANY BEFORE COMPLETION CPLN CONJG COUNT
60e2db695dSBram Moolenaarsyn keyword pl1Function CURRENTSTORAGE CSTG DATAFIELD DECAT DOT ERF ERFC IMAG
61e2db695dSBram Moolenaarsyn keyword pl1Function ONCOUNT ONFIELD ONLOC POLY PRIORITY REPEAT SAMEKEY STATUS
62e2db695dSBram Moolenaarsyn keyword pl1Function STORAGE STG ABS ACOS ACTUALCOUNT ADD ADDR ADDREL ALLOCATION
63e2db695dSBram Moolenaarsyn keyword pl1Function ALLOCN ASIN ATAN ATAND ATANH BOOL BYTE BYTESIZE CEIL COLLATE
64e2db695dSBram Moolenaarsyn keyword pl1Function COPY COS COSD COSH DATE DATETIME DECODE DISPLAY DIVIDE EMPTY
65e2db695dSBram Moolenaarsyn keyword pl1Function ENCODE ERROR EVERY EXP EXTEND FLOOR FLUSH FREE HBOUND HIGH
66e2db695dSBram Moolenaarsyn keyword pl1Function INDEX INFORM INT LBOUND LENGTH LINE LINENO LOG LOG10 LOG2
67e2db695dSBram Moolenaarsyn keyword pl1Function LOW LTRIM MAX MAXLENGTH MIN MOD MULTIPLY NEXT_VOLUME NULL
68e2db695dSBram Moolenaarsyn keyword pl1Function ONARGSLIST ONCHAR ONCODE ONFILE ONKEY ONSOURCE PAGENO POSINT
69e2db695dSBram Moolenaarsyn keyword pl1Function PRESENT PROD RANK RELEASE RESIGNAL REVERSE REWIND ROUND
70e2db695dSBram Moolenaarsyn keyword pl1Function RTRIM SEARCH SIGN SIN SIND SINH SIZE SOME SPACEBLOCK SQRT
71e2db695dSBram Moolenaarsyn keyword pl1Function STRING SUBSTR SUBTRACT SUM TAN TAND TANH TIME TRANSLATE TRIM
72e2db695dSBram Moolenaarsyn keyword pl1Function TRUNC UNSPEC VALID VARIANT VERIFY WARN
73e2db695dSBram Moolenaar
74e2db695dSBram Moolenaar" Other keywords
75e2db695dSBram Moolenaarsyn keyword pl1Other ATTENTION ATTN C CONVERSION CONV DATA NAME NOCONVERSION
76e2db695dSBram Moolenaarsyn keyword pl1Other NOCONV NOFIXEDOVERFLOW NOFOFL NOOVERFLOW NOSIZE
77e2db695dSBram Moolenaarsyn keyword pl1Other NOSTRINGRANGE NOSTRG NOSTRINGSIZE NOSTRZ NOSUBSCRIPTRANGE
78e2db695dSBram Moolenaarsyn keyword pl1Other NOSUBRG NOZERODIVIDE NOZDIV OVERFLOW OFL PENDING RECORD
79e2db695dSBram Moolenaarsyn keyword pl1Other REENTRANT SIZE STRINGRANGE STRG STRINGSIZE STRZ
80e2db695dSBram Moolenaarsyn keyword pl1Other SUBSCRIPTRANGE SUBRG TRANSMIT A ANYCONDITION APPEND B B1 B2
81e2db695dSBram Moolenaarsyn keyword pl1Other B3 B4 BACKUP_DATE BATCH BLOCK_BOUNDARY_FORMAT BLOCK_IO
82e2db695dSBram Moolenaarsyn keyword pl1Other BLOCK_SIZE BUCKET_SIZE BY CANCEL_CONTROL_O
83e2db695dSBram Moolenaarsyn keyword pl1Other CARRIAGE_RETURN_FORMAT COLUMN COL CONTIGUOUS
84e2db695dSBram Moolenaarsyn keyword pl1Other CONTIGUOUS_BEST_TRY CONVERSION CONV CREATION_DATE
85e2db695dSBram Moolenaarsyn keyword pl1Other CURRENT_POSITION DEFAULT_FILE_NAME DEFERRED_WRITE E EDIT
86e2db695dSBram Moolenaarsyn keyword pl1Other ENDFILE ENDPAGE EXPIRATION_DATE EXTENSION_SIZE F FAST_DELETE
87e2db695dSBram Moolenaarsyn keyword pl1Other FILE_ID FILE_ID_TO FILE_SIZE FINISH FIXEDOVERFLOW FOFL
88e2db695dSBram Moolenaarsyn keyword pl1Other FIXED_CONTROL_FROM FIXED_CONTROL_SIZE FIXED_CONTROL_SIZE_TO
89e2db695dSBram Moolenaarsyn keyword pl1Other FIXED_CONTROL_TO FIXED_LENGTH_RECORDS FROM GROUP_PROTECTION
90e2db695dSBram Moolenaarsyn keyword pl1Other IDENT IGNORE_LINE_MARKS IN INDEXED INDEX_NUMBER INITIAL_FILL
91e2db695dSBram Moolenaarsyn keyword pl1Other INTO KEY KEYFROM KEYTO LINESIZE LOCK_ON_READ LOCK_ON_WRITE
92e2db695dSBram Moolenaarsyn keyword pl1Other MAIN MANUAL_UNLOCKING MATCH_GREATER MATCH_GREATER_EQUAL
93e2db695dSBram Moolenaarsyn keyword pl1Other MATCH_NEXT MATCH_NEXT_EQUAL MAXIMUM_RECORD_NUMBER
94e2db695dSBram Moolenaarsyn keyword pl1Other MAXIMUM_RECORD_SIZE MULTIBLOCK_COUNT MULTIBUFFER_COUNT
95e2db695dSBram Moolenaarsyn keyword pl1Other NOLOCK NONEXISTENT_RECORD NONRECURSIVE NO_ECHO NO_FILTER
96e2db695dSBram Moolenaarsyn keyword pl1Other NO_SHARE OVERFLOW OFL OWNER_GROUP OWNER_ID OWNER_MEMBER
97e2db695dSBram Moolenaarsyn keyword pl1Other OWNER_PROTECTION P PAGE PAGESIZE PRINTER_FORMAT PROMPT
98e2db695dSBram Moolenaarsyn keyword pl1Other PURGE_TYPE_AHEAD R READ_AHEAD READ_CHECK READ_REGARDLESS
99e2db695dSBram Moolenaarsyn keyword pl1Other RECORD_ID RECORD_ID_ACCESS RECORD_ID_TO RECURSIVE REPEAT
100e2db695dSBram Moolenaarsyn keyword pl1Other RETRIEVAL_POINTERS REVISION_DATE REWIND_ON_CLOSE
101e2db695dSBram Moolenaarsyn keyword pl1Other REWIND_ON_OPEN SCALARVARYING SET SHARED_READ SHARED_WRITE
102e2db695dSBram Moolenaarsyn keyword pl1Other SKIP SPOOL STORAGE STRINGRANGE STRG SUBSCRIPTRANGE SUBRG
103e2db695dSBram Moolenaarsyn keyword pl1Other SUPERSEDE SYSIN SYSPRINT SYSTEM_PROTECTION TAB TEMPORARY
104e2db695dSBram Moolenaarsyn keyword pl1Other TIMEOUT_PERIOD TITLE TO UNDEFINEDFILE UNDF UNDERFLOW UFL
105e2db695dSBram Moolenaarsyn keyword pl1Other UNTIL USER_OPEN VAXCONDITION WAIT_FOR_RECORD WHILE
106e2db695dSBram Moolenaarsyn keyword pl1Other WORLD_PROTECTION WRITE_BEHIND WRITE_CHECK X ZERODIVIDE ZDIV
107e2db695dSBram Moolenaar
108e2db695dSBram Moolenaar" PreProcessor keywords
109e2db695dSBram Moolenaarsyn keyword pl1PreProc ACTIVATE DEACTIVATE DECLARE DCL DICTIONARY DO END ERROR
110e2db695dSBram Moolenaarsyn keyword pl1PreProc FATAL GOTO IF INCLUDE INFORM LIST NOLIST PAGE PROCEDURE PROC
111e2db695dSBram Moolenaarsyn keyword pl1PreProc REPLACE RETURN SBTTL TITLE WARN THEN ELSE
112e2db695dSBram Moolenaar
113e2db695dSBram Moolenaar" Statements
114e2db695dSBram Moolenaarsyn keyword pl1Statement CALL SUB ENTRY BY NAME CASE CHECK COPY DEFAULT DFT DELAY
115e2db695dSBram Moolenaarsyn keyword pl1Statement DESCRIPTORS DISPLAY EXIT FETCH HALT IGNORE LIST LOCATE
116e2db695dSBram Moolenaarsyn keyword pl1Statement NOCHECK NOLOCK NONE ORDER RANGE RELEASE REORDER REPLY SNAP
117e2db695dSBram Moolenaarsyn keyword pl1Statement SYSTEM TAB UNLOCK WAIT ALLOCATE ALLOC BEGIN CALL CLOSE
118e2db695dSBram Moolenaarsyn keyword pl1Statement DECLARE DCL DELETE DO ELSE END FORMAT GET GOTO GO TO IF
119e2db695dSBram Moolenaarsyn keyword pl1Statement LEAVE NORESCAN ON OPEN OTHERWISE OTHER PROCEDURE PROC PUT
120e2db695dSBram Moolenaarsyn keyword pl1Statement READ RESCAN RETURN REVERT REWRITE SELECT SIGNAL SNAP
121e2db695dSBram Moolenaarsyn keyword pl1Statement STATEMENT STOP SYSTEM THEN WHEN WRITE
122e2db695dSBram Moolenaar
123e2db695dSBram Moolenaar" PL1's own keywords
124e2db695dSBram Moolenaar" syn match   pl1Keyword "\<END\>"
125e2db695dSBram Moolenaar" syn match   pl1Keyword "\.COUNT\>"hs=s+1
126e2db695dSBram Moolenaar" syn match   pl1Keyword "\.EXISTS\>"hs=s+1
127e2db695dSBram Moolenaar" syn match   pl1Keyword "\.FIRST\>"hs=s+1
128e2db695dSBram Moolenaar" syn match   pl1Keyword "\.LAST\>"hs=s+1
129e2db695dSBram Moolenaar" syn match   pl1Keyword "\.DELETE\>"hs=s+1
130e2db695dSBram Moolenaar" syn match   pl1Keyword "\.PREV\>"hs=s+1
131e2db695dSBram Moolenaar" syn match   pl1Keyword "\.NEXT\>"hs=s+1
132e2db695dSBram Moolenaar
133e2db695dSBram Moolenaarif exists("pl1_highlight_triggers")
134e2db695dSBram Moolenaar    syn keyword pl1Trigger  INSERTING UPDATING DELETING
135e2db695dSBram Moolenaarendif
136e2db695dSBram Moolenaar
137e2db695dSBram Moolenaar" Conditionals.
138e2db695dSBram Moolenaarsyn keyword pl1Conditional ELSIF ELSE IF
139e2db695dSBram Moolenaarsyn match   pl1Conditional "\<END\s\+IF\>"
140e2db695dSBram Moolenaar
141e2db695dSBram Moolenaar" Loops.
142e2db695dSBram Moolenaarsyn keyword pl1Repeat FOR LOOP WHILE FORALL
143e2db695dSBram Moolenaarsyn match   pl1Repeat "\<END\s\+LOOP\>"
144e2db695dSBram Moolenaar
145e2db695dSBram Moolenaar" Various types of comments.
146e2db695dSBram Moolenaar" 20010723az: Added the ability to treat strings within comments just like
147e2db695dSBram Moolenaar" C does.
148e2db695dSBram Moolenaarif exists("c_comment_strings")
149e2db695dSBram Moolenaar    syntax match pl1CommentSkip contained "^\s*\*\($\|\s\+\)"
150e2db695dSBram Moolenaar    syntax region pl1CommentString contained start=+L\="+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=pl1CommentSkip
151e2db695dSBram Moolenaar    syntax region pl1Comment2String contained start=+L\="+ skip=+\\\\\|\\"+ end=+"+ end="$"
152e2db695dSBram Moolenaar    syntax region pl1CommentL start="--" skip="\\$" end="$" keepend contains=@pl1CommentGroup,pl1Comment2String,pl1CharLiteral,pl1BooleanLiteral,pl1NumbersCom,pl1SpaceError
153e2db695dSBram Moolenaar    syntax region pl1Comment start="/\*" end="\*/" contains=@pl1CommentGroup,pl1Comment2String,pl1CharLiteral,pl1BooleanLiteral,pl1NumbersCom,pl1SpaceError
154e2db695dSBram Moolenaarelse
155e2db695dSBram Moolenaar    syntax region pl1CommentL start="--" skip="\\$" end="$" keepend contains=@pl1CommentGroup,pl1SpaceError
156e2db695dSBram Moolenaar    syntax region pl1Comment start="/\*" end="\*/" contains=@pl1CommentGroup,pl1SpaceError
157e2db695dSBram Moolenaarendif
158e2db695dSBram Moolenaar
159e2db695dSBram Moolenaar" 20010723az: These are the old comment commands ... commented out.
160e2db695dSBram Moolenaar" syn match   pl1Comment    "--.*$" contains=pl1Todo
161e2db695dSBram Moolenaar" syn region  pl1Comment    start="/\*" end="\*/" contains=pl1Todo
162e2db695dSBram Moolenaarsyn sync ccomment pl1Comment
163e2db695dSBram Moolenaarsyn sync ccomment pl1CommentL
164e2db695dSBram Moolenaar
165e2db695dSBram Moolenaar" To catch unterminated string literals.
166e2db695dSBram Moolenaarsyn match   pl1StringError    "'.*$"
167e2db695dSBram Moolenaar
168e2db695dSBram Moolenaar" Various types of literals.
169e2db695dSBram Moolenaar" 20010723az: Added stuff for comment matching.
170e2db695dSBram Moolenaarsyn match pl1Numbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=pl1IntLiteral,pl1FloatLiteral
171e2db695dSBram Moolenaarsyn match pl1NumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=pl1IntLiteral,pl1FloatLiteral
172e2db695dSBram Moolenaarsyn match pl1IntLiteral contained "[+-]\=\d\+"
173e2db695dSBram Moolenaarsyn match pl1FloatLiteral contained "[+-]\=\d\+\.\d*"
174e2db695dSBram Moolenaarsyn match pl1FloatLiteral contained "[+-]\=\d*\.\d*"
175e2db695dSBram Moolenaar"syn match pl1FloatLiteral "[+-]\=\([0-9]*\.[0-9]\+\|[0-9]\+\.[0-9]\+\)\(e[+-]\=[0-9]\+\)\="
176e2db695dSBram Moolenaarsyn match   pl1CharLiteral    "'[^']'"
177e2db695dSBram Moolenaarsyn match   pl1StringLiteral  "'\([^']\|''\)*'"
178e2db695dSBram Moolenaarsyn keyword pl1BooleanLiteral TRUE FALSE NULL
179e2db695dSBram Moolenaar
180e2db695dSBram Moolenaar" The built-in types.
181e2db695dSBram Moolenaarsyn keyword pl1Storage ANYDATA ANYTYPE BFILE BINARY_INTEGER BLOB BOOLEAN
182e2db695dSBram Moolenaarsyn keyword pl1Storage BYTE CHAR CHARACTER CLOB CURSOR DATE DAY DEC DECIMAL
183e2db695dSBram Moolenaarsyn keyword pl1Storage DOUBLE DSINTERVAL_UNCONSTRAINED FLOAT HOUR
184e2db695dSBram Moolenaarsyn keyword pl1Storage INT INTEGER INTERVAL LOB LONG MINUTE
185e2db695dSBram Moolenaarsyn keyword pl1Storage MLSLABEL MONTH NATURAL NATURALN NCHAR NCHAR_CS NCLOB
186e2db695dSBram Moolenaarsyn keyword pl1Storage NUMBER NUMERIC NVARCHAR PLS_INT PLS_INTEGER
187e2db695dSBram Moolenaarsyn keyword pl1Storage POSITIVE POSITIVEN PRECISION RAW REAL RECORD
188e2db695dSBram Moolenaarsyn keyword pl1Storage SECOND SIGNTYPE SMALLINT STRING SYS_REFCURSOR TABLE TIME
189e2db695dSBram Moolenaarsyn keyword pl1Storage TIMESTAMP TIMESTAMP_UNCONSTRAINED
190e2db695dSBram Moolenaarsyn keyword pl1Storage TIMESTAMP_TZ_UNCONSTRAINED
191e2db695dSBram Moolenaarsyn keyword pl1Storage TIMESTAMP_LTZ_UNCONSTRAINED UROWID VARCHAR
192e2db695dSBram Moolenaarsyn keyword pl1Storage VARCHAR2 YEAR YMINTERVAL_UNCONSTRAINED ZONE
193e2db695dSBram Moolenaar
194e2db695dSBram Moolenaar" A type-attribute is really a type.
195e2db695dSBram Moolenaar" 20020916bp: Removed leading part of pattern to avoid highlighting the
196e2db695dSBram Moolenaar"             object
197e2db695dSBram Moolenaarsyn match   pl1TypeAttribute  "%\(TYPE\|ROWTYPE\)\>"
198e2db695dSBram Moolenaar
199e2db695dSBram Moolenaar" All other attributes.
200e2db695dSBram Moolenaarsyn match   pl1Attribute "%\(BULK_EXCEPTIONS\|BULK_ROWCOUNT\|ISOPEN\|FOUND\|NOTFOUND\|ROWCOUNT\)\>"
201e2db695dSBram Moolenaar
202e2db695dSBram Moolenaar" Catch errors caused by wrong parentheses and brackets
203e2db695dSBram Moolenaar" 20010723az: significantly more powerful than the values -- commented out
204e2db695dSBram Moolenaar" below the replaced values. This adds the C functionality to PL/SQL.
205e2db695dSBram Moolenaarsyn cluster pl1ParenGroup contains=pl1ParenError,@pl1CommentGroup,pl1CommentSkip,pl1IntLiteral,pl1FloatLiteral,pl1NumbersCom
206e2db695dSBram Moolenaarif exists("c_no_bracket_error")
207e2db695dSBram Moolenaar    syn region pl1Paren transparent start='(' end=')' contains=ALLBUT,@pl1ParenGroup
208e2db695dSBram Moolenaar    syn match pl1ParenError ")"
209e2db695dSBram Moolenaar    syn match pl1ErrInParen contained "[{}]"
210e2db695dSBram Moolenaarelse
211e2db695dSBram Moolenaar    syn region pl1Paren transparent start='(' end=')' contains=ALLBUT,@pl1ParenGroup,pl1ErrInBracket
212e2db695dSBram Moolenaar    syn match pl1ParenError "[\])]"
213e2db695dSBram Moolenaar    syn match pl1ErrInParen contained "[{}]"
214e2db695dSBram Moolenaar    syn region pl1Bracket transparent start='\[' end=']' contains=ALLBUT,@pl1ParenGroup,pl1ErrInParen
215e2db695dSBram Moolenaar    syn match pl1ErrInBracket contained "[);{}]"
216e2db695dSBram Moolenaarendif
217e2db695dSBram Moolenaar" syn region pl1Paren       transparent start='(' end=')' contains=ALLBUT,pl1ParenError
218e2db695dSBram Moolenaar" syn match pl1ParenError   ")"
219e2db695dSBram Moolenaar
220e2db695dSBram Moolenaar" Syntax Synchronizing
221e2db695dSBram Moolenaarsyn sync minlines=10 maxlines=100
222e2db695dSBram Moolenaar
223e2db695dSBram Moolenaar" Define the default highlighting.
22489bcfda6SBram Moolenaar" Only when and item doesn't have highlighting yet.
225e2db695dSBram Moolenaar
226*f37506f6SBram Moolenaarhi def link pl1Attribute       Macro
227*f37506f6SBram Moolenaarhi def link pl1BlockError      Error
228*f37506f6SBram Moolenaarhi def link pl1BooleanLiteral  Boolean
229*f37506f6SBram Moolenaarhi def link pl1CharLiteral     Character
230*f37506f6SBram Moolenaarhi def link pl1Comment         Comment
231*f37506f6SBram Moolenaarhi def link pl1CommentL        Comment
232*f37506f6SBram Moolenaarhi def link pl1Conditional     Conditional
233*f37506f6SBram Moolenaarhi def link pl1Error           Error
234*f37506f6SBram Moolenaarhi def link pl1ErrInBracket    Error
235*f37506f6SBram Moolenaarhi def link pl1ErrInBlock      Error
236*f37506f6SBram Moolenaarhi def link pl1ErrInParen      Error
237*f37506f6SBram Moolenaarhi def link pl1Exception       Function
238*f37506f6SBram Moolenaarhi def link pl1FloatLiteral    Float
239*f37506f6SBram Moolenaarhi def link pl1Function        Function
240*f37506f6SBram Moolenaarhi def link pl1Garbage         Error
241*f37506f6SBram Moolenaarhi def link pl1HostIdentifier  Label
242*f37506f6SBram Moolenaarhi def link pl1Identifier      Normal
243*f37506f6SBram Moolenaarhi def link pl1IntLiteral      Number
244*f37506f6SBram Moolenaarhi def link pl1Operator        Operator
245*f37506f6SBram Moolenaarhi def link pl1Paren           Normal
246*f37506f6SBram Moolenaarhi def link pl1ParenError      Error
247*f37506f6SBram Moolenaarhi def link pl1SpaceError      Error
248*f37506f6SBram Moolenaarhi def link pl1Pseudo          PreProc
249*f37506f6SBram Moolenaarhi def link pl1PreProc         PreProc
250*f37506f6SBram Moolenaarhi def link pl1PreProcSym      PreProc
251*f37506f6SBram Moolenaarhi def link pl1Keyword         Keyword
252*f37506f6SBram Moolenaarhi def link pl1Other           Keyword
253*f37506f6SBram Moolenaarhi def link pl1Repeat          Repeat
254*f37506f6SBram Moolenaarhi def link pl1Statement       Keyword
255*f37506f6SBram Moolenaarhi def link pl1Storage         StorageClass
256*f37506f6SBram Moolenaarhi def link pl1StringError     Error
257*f37506f6SBram Moolenaarhi def link pl1StringLiteral   String
258*f37506f6SBram Moolenaarhi def link pl1CommentString   String
259*f37506f6SBram Moolenaarhi def link pl1Comment2String  String
260*f37506f6SBram Moolenaarhi def link pl1Symbol          Normal
261*f37506f6SBram Moolenaarhi def link pl1Trigger         Function
262*f37506f6SBram Moolenaarhi def link pl1TypeAttribute   StorageClass
263*f37506f6SBram Moolenaarhi def link pl1Todo            Todo
264e2db695dSBram Moolenaar
265e2db695dSBram Moolenaar
266e2db695dSBram Moolenaarlet b:current_syntax = "pl1"
267