xref: /vim-8.2.3635/runtime/syntax/plsql.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language: Oracle Procedureal SQL (PL/SQL)
3071d4279SBram Moolenaar" Maintainer: Jeff Lanzarotta (jefflanzarotta at yahoo dot com)
4071d4279SBram Moolenaar" Original Maintainer: C. Laurence Gonsalves ([email protected])
5071d4279SBram Moolenaar" URL: http://lanzarotta.tripod.com/vim/syntax/plsql.vim.zip
6071d4279SBram Moolenaar" Last Change: September 18, 2002
7071d4279SBram Moolenaar" History: Geoff Evans & Bill Pribyl (bill at plnet dot org)
8071d4279SBram Moolenaar"		Added 9i keywords.
9071d4279SBram Moolenaar"	   Austin Ziegler (austin at halostatue dot ca)
10071d4279SBram Moolenaar"		Added 8i+ features.
11071d4279SBram Moolenaar"
1289bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1389bcfda6SBram Moolenaarif exists("b:current_syntax")
14071d4279SBram Moolenaar  finish
15071d4279SBram Moolenaarendif
16071d4279SBram Moolenaar
17071d4279SBram Moolenaar" Todo.
18071d4279SBram Moolenaarsyn keyword plsqlTodo TODO FIXME XXX DEBUG NOTE
19071d4279SBram Moolenaarsyn cluster plsqlCommentGroup contains=plsqlTodo
20071d4279SBram Moolenaar
21071d4279SBram Moolenaarsyn case ignore
22071d4279SBram Moolenaar
23071d4279SBram Moolenaarsyn match   plsqlGarbage "[^ \t()]"
24071d4279SBram Moolenaarsyn match   plsqlIdentifier "[a-z][a-z0-9$_#]*"
25071d4279SBram Moolenaarsyn match   plsqlHostIdentifier ":[a-z][a-z0-9$_#]*"
26071d4279SBram Moolenaar
27071d4279SBram Moolenaar" When wanted, highlight the trailing whitespace.
28071d4279SBram Moolenaarif exists("c_space_errors")
29071d4279SBram Moolenaar  if !exists("c_no_trail_space_error")
30071d4279SBram Moolenaar    syn match plsqlSpaceError "\s\+$"
31071d4279SBram Moolenaar  endif
32071d4279SBram Moolenaar
33071d4279SBram Moolenaar  if !exists("c_no_tab_space_error")
34071d4279SBram Moolenaar    syn match plsqlSpaceError " \+\t"me=e-1
35071d4279SBram Moolenaar  endif
36071d4279SBram Moolenaarendif
37071d4279SBram Moolenaar
38071d4279SBram Moolenaar" Symbols.
39071d4279SBram Moolenaarsyn match   plsqlSymbol "\(;\|,\|\.\)"
40071d4279SBram Moolenaar
41071d4279SBram Moolenaar" Operators.
42071d4279SBram Moolenaarsyn match   plsqlOperator "\(+\|-\|\*\|/\|=\|<\|>\|@\|\*\*\|!=\|\~=\)"
43071d4279SBram Moolenaarsyn match   plsqlOperator "\(^=\|<=\|>=\|:=\|=>\|\.\.\|||\|<<\|>>\|\"\)"
44071d4279SBram Moolenaar
45071d4279SBram Moolenaar" Some of Oracle's SQL keywords.
46071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword ABORT ACCESS ACCESSED ADD AFTER ALL ALTER AND ANY
47071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword AS ASC ATTRIBUTE AUDIT AUTHORIZATION AVG BASE_TABLE
48071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword BEFORE BETWEEN BY CASCADE CAST CHECK CLUSTER
49071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword CLUSTERS COLAUTH COLUMN COMMENT COMPRESS CONNECT
50071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword CONSTRAINT CRASH CREATE CURRENT DATA DATABASE
51071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword DATA_BASE DBA DEFAULT DELAY DELETE DESC DISTINCT
52071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword DROP DUAL ELSE EXCLUSIVE EXISTS EXTENDS EXTRACT
53071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword FILE FORCE FOREIGN FROM GRANT GROUP HAVING HEAP
54071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword IDENTIFIED IDENTIFIER IMMEDIATE IN INCLUDING
55071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword INCREMENT INDEX INDEXES INITIAL INSERT INSTEAD
56071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword INTERSECT INTO INVALIDATE IS ISOLATION KEY LIBRARY
57071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword LIKE LOCK MAXEXTENTS MINUS MODE MODIFY MULTISET
58071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword NESTED NOAUDIT NOCOMPRESS NOT NOWAIT OF OFF OFFLINE
59071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword ON ONLINE OPERATOR OPTION OR ORDER ORGANIZATION
60071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword PCTFREE PRIMARY PRIOR PRIVATE PRIVILEGES PUBLIC
61071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword QUOTA RELEASE RENAME REPLACE RESOURCE REVOKE ROLLBACK
62071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword ROW ROWLABEL ROWS SCHEMA SELECT SEPARATE SESSION SET
63071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword SHARE SIZE SPACE START STORE SUCCESSFUL SYNONYM
64071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword SYSDATE TABLE TABLES TABLESPACE TEMPORARY TO TREAT
65071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword TRIGGER TRUNCATE UID UNION UNIQUE UNLIMITED UPDATE
66071d4279SBram Moolenaarsyn keyword plsqlSQLKeyword USE USER VALIDATE VALUES VIEW WHENEVER WHERE WITH
67071d4279SBram Moolenaar
68071d4279SBram Moolenaar" PL/SQL's own keywords.
69071d4279SBram Moolenaarsyn keyword plsqlKeyword AGENT AND ANY ARRAY ASSIGN AS AT AUTHID BEGIN BODY BY
70071d4279SBram Moolenaarsyn keyword plsqlKeyword BULK C CASE CHAR_BASE CHARSETFORM CHARSETID CLOSE
71071d4279SBram Moolenaarsyn keyword plsqlKeyword COLLECT CONSTANT CONSTRUCTOR CONTEXT CURRVAL DECLARE
72071d4279SBram Moolenaarsyn keyword plsqlKeyword DVOID EXCEPTION EXCEPTION_INIT EXECUTE EXIT FETCH
73071d4279SBram Moolenaarsyn keyword plsqlKeyword FINAL FUNCTION GOTO HASH IMMEDIATE IN INDICATOR
74071d4279SBram Moolenaarsyn keyword plsqlKeyword INSTANTIABLE IS JAVA LANGUAGE LIBRARY MAP MAXLEN
75071d4279SBram Moolenaarsyn keyword plsqlKeyword MEMBER NAME NEW NOCOPY NUMBER_BASE OBJECT OCICOLL
76071d4279SBram Moolenaarsyn keyword plsqlKeyword OCIDATE OCIDATETIME OCILOBLOCATOR OCINUMBER OCIRAW
77071d4279SBram Moolenaarsyn keyword plsqlKeyword OCISTRING OF OPAQUE OPEN OR ORDER OTHERS OUT
78071d4279SBram Moolenaarsyn keyword plsqlKeyword OVERRIDING PACKAGE PARALLEL_ENABLE PARAMETERS
79071d4279SBram Moolenaarsyn keyword plsqlKeyword PARTITION PIPELINED PRAGMA PROCEDURE RAISE RANGE REF
80071d4279SBram Moolenaarsyn keyword plsqlKeyword RESULT RETURN REVERSE ROWTYPE SB1 SELF SHORT SIZE_T
81071d4279SBram Moolenaarsyn keyword plsqlKeyword SQL SQLCODE SQLERRM STATIC STRUCT SUBTYPE TDO THEN
82071d4279SBram Moolenaarsyn keyword plsqlKeyword TABLE TIMEZONE_ABBR TIMEZONE_HOUR TIMEZONE_MINUTE
83071d4279SBram Moolenaarsyn keyword plsqlKeyword TIMEZONE_REGION TYPE UNDER UNSIGNED USING VARIANCE
84071d4279SBram Moolenaarsyn keyword plsqlKeyword VARRAY VARYING WHEN WRITE
85071d4279SBram Moolenaarsyn match   plsqlKeyword "\<END\>"
86071d4279SBram Moolenaarsyn match   plsqlKeyword "\.COUNT\>"hs=s+1
87071d4279SBram Moolenaarsyn match   plsqlKeyword "\.EXISTS\>"hs=s+1
88071d4279SBram Moolenaarsyn match   plsqlKeyword "\.FIRST\>"hs=s+1
89071d4279SBram Moolenaarsyn match   plsqlKeyword "\.LAST\>"hs=s+1
90071d4279SBram Moolenaarsyn match   plsqlKeyword "\.DELETE\>"hs=s+1
91071d4279SBram Moolenaarsyn match   plsqlKeyword "\.PREV\>"hs=s+1
92071d4279SBram Moolenaarsyn match   plsqlKeyword "\.NEXT\>"hs=s+1
93071d4279SBram Moolenaar
94071d4279SBram Moolenaar" PL/SQL functions.
95071d4279SBram Moolenaarsyn keyword plsqlFunction ABS ACOS ADD_MONTHS ASCII ASCIISTR ASIN ATAN ATAN2
96071d4279SBram Moolenaarsyn keyword plsqlFunction BFILENAME BITAND CEIL CHARTOROWID CHR COALESCE
97071d4279SBram Moolenaarsyn keyword plsqlFunction COMMIT COMMIT_CM COMPOSE CONCAT  CONVERT  COS COSH
98071d4279SBram Moolenaarsyn keyword plsqlFunction COUNT CUBE CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP
99071d4279SBram Moolenaarsyn keyword plsqlFunction DBTIMEZONE DECODE DECOMPOSE DEREF DUMP EMPTY_BLOB
100071d4279SBram Moolenaarsyn keyword plsqlFunction EMPTY_CLOB EXISTS EXP FLOOR FROM_TZ GETBND GLB
101071d4279SBram Moolenaarsyn keyword plsqlFunction GREATEST GREATEST_LB GROUPING HEXTORAW  INITCAP
102071d4279SBram Moolenaarsyn keyword plsqlFunction INSTR INSTR2 INSTR4 INSTRB INSTRC ISNCHAR LAST_DAY
103071d4279SBram Moolenaarsyn keyword plsqlFunction LEAST LEAST_UB LENGTH LENGTH2 LENGTH4 LENGTHB LENGTHC
104071d4279SBram Moolenaarsyn keyword plsqlFunction LN LOCALTIME LOCALTIMESTAMP LOG LOWER LPAD
105071d4279SBram Moolenaarsyn keyword plsqlFunction LTRIM LUB MAKE_REF MAX MIN MOD MONTHS_BETWEEN
106071d4279SBram Moolenaarsyn keyword plsqlFunction NCHARTOROWID NCHR NEW_TIME NEXT_DAY NHEXTORAW
107071d4279SBram Moolenaarsyn keyword plsqlFunction NLS_CHARSET_DECL_LEN NLS_CHARSET_ID NLS_CHARSET_NAME
108071d4279SBram Moolenaarsyn keyword plsqlFunction NLS_INITCAP NLS_LOWER NLSSORT NLS_UPPER NULLFN NULLIF
109071d4279SBram Moolenaarsyn keyword plsqlFunction NUMTODSINTERVAL NUMTOYMINTERVAL NVL POWER
110071d4279SBram Moolenaarsyn keyword plsqlFunction RAISE_APPLICATION_ERROR RAWTOHEX RAWTONHEX REF
111071d4279SBram Moolenaarsyn keyword plsqlFunction REFTOHEX REPLACE ROLLBACK_NR ROLLBACK_SV ROLLUP ROUND
112071d4279SBram Moolenaarsyn keyword plsqlFunction ROWIDTOCHAR ROWIDTONCHAR ROWLABEL RPAD RTRIM
113071d4279SBram Moolenaarsyn keyword plsqlFunction SAVEPOINT SESSIONTIMEZONE SETBND SET_TRANSACTION_USE
114071d4279SBram Moolenaarsyn keyword plsqlFunction SIGN SIN SINH SOUNDEX SQLCODE SQLERRM SQRT STDDEV
115071d4279SBram Moolenaarsyn keyword plsqlFunction SUBSTR SUBSTR2 SUBSTR4 SUBSTRB SUBSTRC SUM
116071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_AT_TIME_ZONE SYS_CONTEXT SYSDATE SYS_EXTRACT_UTC
117071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_GUID SYS_LITERALTODATE SYS_LITERALTODSINTERVAL
118071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_LITERALTOTIME SYS_LITERALTOTIMESTAMP
119071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_LITERALTOTZTIME SYS_LITERALTOTZTIMESTAMP
120071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_LITERALTOYMINTERVAL SYS_OVER__DD SYS_OVER__DI
121071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_OVER__ID SYS_OVER_IID SYS_OVER_IIT
122071d4279SBram Moolenaarsyn keyword plsqlFunction SYS_OVER__IT SYS_OVER__TI SYS_OVER__TT
123071d4279SBram Moolenaarsyn keyword plsqlFunction SYSTIMESTAMP TAN TANH TO_ANYLOB TO_BLOB TO_CHAR
124071d4279SBram Moolenaarsyn keyword plsqlFunction TO_CLOB TO_DATE TO_DSINTERVAL TO_LABEL TO_MULTI_BYTE
125071d4279SBram Moolenaarsyn keyword plsqlFunction TO_NCHAR TO_NCLOB TO_NUMBER TO_RAW TO_SINGLE_BYTE
126071d4279SBram Moolenaarsyn keyword plsqlFunction TO_TIME TO_TIMESTAMP TO_TIMESTAMP_TZ TO_TIME_TZ
127071d4279SBram Moolenaarsyn keyword plsqlFunction TO_YMINTERVAL TRANSLATE TREAT TRIM TRUNC TZ_OFFSET UID
128071d4279SBram Moolenaarsyn keyword plsqlFunction UNISTR UPPER UROWID USER USERENV VALUE VARIANCE
129071d4279SBram Moolenaarsyn keyword plsqlFunction VSIZE WORK XOR
130071d4279SBram Moolenaarsyn match   plsqlFunction "\<SYS\$LOB_REPLICATION\>"
131071d4279SBram Moolenaar
132071d4279SBram Moolenaar" PL/SQL Exceptions
133071d4279SBram Moolenaarsyn keyword plsqlException ACCESS_INTO_NULL CASE_NOT_FOUND COLLECTION_IS_NULL
134071d4279SBram Moolenaarsyn keyword plsqlException CURSOR_ALREADY_OPEN DUP_VAL_ON_INDEX INVALID_CURSOR
135071d4279SBram Moolenaarsyn keyword plsqlException INVALID_NUMBER LOGIN_DENIED NO_DATA_FOUND
136071d4279SBram Moolenaarsyn keyword plsqlException NOT_LOGGED_ON PROGRAM_ERROR ROWTYPE_MISMATCH
137071d4279SBram Moolenaarsyn keyword plsqlException SELF_IS_NULL STORAGE_ERROR SUBSCRIPT_BEYOND_COUNT
138071d4279SBram Moolenaarsyn keyword plsqlException SUBSCRIPT_OUTSIDE_LIMIT SYS_INVALID_ROWID
139071d4279SBram Moolenaarsyn keyword plsqlException TIMEOUT_ON_RESOURCE TOO_MANY_ROWS VALUE_ERROR
140071d4279SBram Moolenaarsyn keyword plsqlException ZERO_DIVIDE
141071d4279SBram Moolenaar
142071d4279SBram Moolenaar" Oracle Pseudo Colums.
143071d4279SBram Moolenaarsyn keyword plsqlPseudo CURRVAL LEVEL NEXTVAL ROWID ROWNUM
144071d4279SBram Moolenaar
145071d4279SBram Moolenaarif exists("plsql_highlight_triggers")
146071d4279SBram Moolenaar  syn keyword plsqlTrigger INSERTING UPDATING DELETING
147071d4279SBram Moolenaarendif
148071d4279SBram Moolenaar
149071d4279SBram Moolenaar" Conditionals.
150071d4279SBram Moolenaarsyn keyword plsqlConditional ELSIF ELSE IF
151071d4279SBram Moolenaarsyn match   plsqlConditional "\<END\s\+IF\>"
152071d4279SBram Moolenaar
153071d4279SBram Moolenaar" Loops.
154071d4279SBram Moolenaarsyn keyword plsqlRepeat FOR LOOP WHILE FORALL
155071d4279SBram Moolenaarsyn match   plsqlRepeat "\<END\s\+LOOP\>"
156071d4279SBram Moolenaar
157071d4279SBram Moolenaar" Various types of comments.
158071d4279SBram Moolenaarif exists("c_comment_strings")
159071d4279SBram Moolenaar  syntax match plsqlCommentSkip contained "^\s*\*\($\|\s\+\)"
160071d4279SBram Moolenaar  syntax region plsqlCommentString contained start=+L\="+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=plsqlCommentSkip
161071d4279SBram Moolenaar  syntax region plsqlComment2String contained start=+L\="+ skip=+\\\\\|\\"+ end=+"+ end="$"
162071d4279SBram Moolenaar  syntax region plsqlCommentL start="--" skip="\\$" end="$" keepend contains=@plsqlCommentGroup,plsqlComment2String,plsqlCharLiteral,plsqlBooleanLiteral,plsqlNumbersCom,plsqlSpaceError
163071d4279SBram Moolenaar  syntax region plsqlComment start="/\*" end="\*/" contains=@plsqlCommentGroup,plsqlComment2String,plsqlCharLiteral,plsqlBooleanLiteral,plsqlNumbersCom,plsqlSpaceError
164071d4279SBram Moolenaarelse
165071d4279SBram Moolenaar  syntax region plsqlCommentL start="--" skip="\\$" end="$" keepend contains=@plsqlCommentGroup,plsqlSpaceError
166071d4279SBram Moolenaar  syntax region plsqlComment start="/\*" end="\*/" contains=@plsqlCommentGroup,plsqlSpaceError
167071d4279SBram Moolenaarendif
168071d4279SBram Moolenaar
169071d4279SBram Moolenaarsyn sync ccomment plsqlComment
170071d4279SBram Moolenaarsyn sync ccomment plsqlCommentL
171071d4279SBram Moolenaar
172071d4279SBram Moolenaar" To catch unterminated string literals.
173071d4279SBram Moolenaarsyn match   plsqlStringError "'.*$"
174071d4279SBram Moolenaar
175071d4279SBram Moolenaar" Various types of literals.
176071d4279SBram Moolenaarsyn match   plsqlNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=plsqlIntLiteral,plsqlFloatLiteral
177071d4279SBram Moolenaarsyn match   plsqlNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=plsqlIntLiteral,plsqlFloatLiteral
178071d4279SBram Moolenaarsyn match   plsqlIntLiteral contained "[+-]\=\d\+"
179071d4279SBram Moolenaarsyn match   plsqlFloatLiteral contained "[+-]\=\d\+\.\d*"
180071d4279SBram Moolenaarsyn match   plsqlFloatLiteral contained "[+-]\=\d*\.\d*"
181071d4279SBram Moolenaarsyn match   plsqlCharLiteral    "'[^']'"
182071d4279SBram Moolenaarsyn match   plsqlStringLiteral  "'\([^']\|''\)*'"
183071d4279SBram Moolenaarsyn keyword plsqlBooleanLiteral TRUE FALSE NULL
184071d4279SBram Moolenaar
185071d4279SBram Moolenaar" The built-in types.
186071d4279SBram Moolenaarsyn keyword plsqlStorage ANYDATA ANYTYPE BFILE BINARY_INTEGER BLOB BOOLEAN
187071d4279SBram Moolenaarsyn keyword plsqlStorage BYTE CHAR CHARACTER CLOB CURSOR DATE DAY DEC DECIMAL
188071d4279SBram Moolenaarsyn keyword plsqlStorage DOUBLE DSINTERVAL_UNCONSTRAINED FLOAT HOUR
189071d4279SBram Moolenaarsyn keyword plsqlStorage INT INTEGER INTERVAL LOB LONG MINUTE
190071d4279SBram Moolenaarsyn keyword plsqlStorage MLSLABEL MONTH NATURAL NATURALN NCHAR NCHAR_CS NCLOB
191071d4279SBram Moolenaarsyn keyword plsqlStorage NUMBER NUMERIC NVARCHAR PLS_INT PLS_INTEGER
192071d4279SBram Moolenaarsyn keyword plsqlStorage POSITIVE POSITIVEN PRECISION RAW REAL RECORD
193071d4279SBram Moolenaarsyn keyword plsqlStorage SECOND SIGNTYPE SMALLINT STRING SYS_REFCURSOR TABLE TIME
194071d4279SBram Moolenaarsyn keyword plsqlStorage TIMESTAMP TIMESTAMP_UNCONSTRAINED
195071d4279SBram Moolenaarsyn keyword plsqlStorage TIMESTAMP_TZ_UNCONSTRAINED
196071d4279SBram Moolenaarsyn keyword plsqlStorage TIMESTAMP_LTZ_UNCONSTRAINED UROWID VARCHAR
197071d4279SBram Moolenaarsyn keyword plsqlStorage VARCHAR2 YEAR YMINTERVAL_UNCONSTRAINED ZONE
198071d4279SBram Moolenaar
199071d4279SBram Moolenaar" A type-attribute is really a type.
200071d4279SBram Moolenaarsyn match plsqlTypeAttribute  "%\(TYPE\|ROWTYPE\)\>"
201071d4279SBram Moolenaar
202071d4279SBram Moolenaar" All other attributes.
203071d4279SBram Moolenaarsyn match plsqlAttribute "%\(BULK_EXCEPTIONS\|BULK_ROWCOUNT\|ISOPEN\|FOUND\|NOTFOUND\|ROWCOUNT\)\>"
204071d4279SBram Moolenaar
205071d4279SBram Moolenaar" This'll catch mis-matched close-parens.
206071d4279SBram Moolenaarsyn cluster plsqlParenGroup contains=plsqlParenError,@plsqlCommentGroup,plsqlCommentSkip,plsqlIntLiteral,plsqlFloatLiteral,plsqlNumbersCom
207071d4279SBram Moolenaarif exists("c_no_bracket_error")
208071d4279SBram Moolenaar  syn region plsqlParen transparent start='(' end=')' contains=ALLBUT,@plsqlParenGroup
209071d4279SBram Moolenaar  syn match plsqlParenError ")"
210071d4279SBram Moolenaar  syn match plsqlErrInParen contained "[{}]"
211071d4279SBram Moolenaarelse
212071d4279SBram Moolenaar  syn region plsqlParen transparent start='(' end=')' contains=ALLBUT,@plsqlParenGroup,plsqlErrInBracket
213071d4279SBram Moolenaar  syn match plsqlParenError "[\])]"
214071d4279SBram Moolenaar  syn match plsqlErrInParen contained "[{}]"
215071d4279SBram Moolenaar  syn region plsqlBracket transparent start='\[' end=']' contains=ALLBUT,@plsqlParenGroup,plsqlErrInParen
216071d4279SBram Moolenaar  syn match plsqlErrInBracket contained "[);{}]"
217071d4279SBram Moolenaarendif
218071d4279SBram Moolenaar
219071d4279SBram Moolenaar" Syntax Synchronizing
220071d4279SBram Moolenaarsyn sync minlines=10 maxlines=100
221071d4279SBram Moolenaar
222071d4279SBram Moolenaar" Define the default highlighting.
22389bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet.
224071d4279SBram Moolenaar
225*f37506f6SBram Moolenaarhi def link plsqlAttribute		Macro
226*f37506f6SBram Moolenaarhi def link plsqlBlockError	Error
227*f37506f6SBram Moolenaarhi def link plsqlBooleanLiteral	Boolean
228*f37506f6SBram Moolenaarhi def link plsqlCharLiteral	Character
229*f37506f6SBram Moolenaarhi def link plsqlComment		Comment
230*f37506f6SBram Moolenaarhi def link plsqlCommentL		Comment
231*f37506f6SBram Moolenaarhi def link plsqlConditional	Conditional
232*f37506f6SBram Moolenaarhi def link plsqlError		Error
233*f37506f6SBram Moolenaarhi def link plsqlErrInBracket	Error
234*f37506f6SBram Moolenaarhi def link plsqlErrInBlock	Error
235*f37506f6SBram Moolenaarhi def link plsqlErrInParen	Error
236*f37506f6SBram Moolenaarhi def link plsqlException		Function
237*f37506f6SBram Moolenaarhi def link plsqlFloatLiteral	Float
238*f37506f6SBram Moolenaarhi def link plsqlFunction		Function
239*f37506f6SBram Moolenaarhi def link plsqlGarbage		Error
240*f37506f6SBram Moolenaarhi def link plsqlHostIdentifier	Label
241*f37506f6SBram Moolenaarhi def link plsqlIdentifier	Normal
242*f37506f6SBram Moolenaarhi def link plsqlIntLiteral	Number
243*f37506f6SBram Moolenaarhi def link plsqlOperator		Operator
244*f37506f6SBram Moolenaarhi def link plsqlParen		Normal
245*f37506f6SBram Moolenaarhi def link plsqlParenError	Error
246*f37506f6SBram Moolenaarhi def link plsqlSpaceError	Error
247*f37506f6SBram Moolenaarhi def link plsqlPseudo		PreProc
248*f37506f6SBram Moolenaarhi def link plsqlKeyword		Keyword
249*f37506f6SBram Moolenaarhi def link plsqlRepeat		Repeat
250*f37506f6SBram Moolenaarhi def link plsqlStorage		StorageClass
251*f37506f6SBram Moolenaarhi def link plsqlSQLKeyword	Function
252*f37506f6SBram Moolenaarhi def link plsqlStringError	Error
253*f37506f6SBram Moolenaarhi def link plsqlStringLiteral	String
254*f37506f6SBram Moolenaarhi def link plsqlCommentString	String
255*f37506f6SBram Moolenaarhi def link plsqlComment2String	String
256*f37506f6SBram Moolenaarhi def link plsqlSymbol		Normal
257*f37506f6SBram Moolenaarhi def link plsqlTrigger		Function
258*f37506f6SBram Moolenaarhi def link plsqlTypeAttribute	StorageClass
259*f37506f6SBram Moolenaarhi def link plsqlTodo		Todo
260071d4279SBram Moolenaar
261071d4279SBram Moolenaar
262071d4279SBram Moolenaarlet b:current_syntax = "plsql"
263071d4279SBram Moolenaar
264071d4279SBram Moolenaar" vim: ts=8 sw=2
265