xref: /vim-8.2.3635/runtime/syntax/sql.vim (revision 071d4279)
1*071d4279SBram Moolenaar" Vim syntax file
2*071d4279SBram Moolenaar" Language:	SQL, PL/SQL (Oracle 8i)
3*071d4279SBram Moolenaar" Maintainer:	Paul Moore <[email protected]>
4*071d4279SBram Moolenaar" Last Change:	2001 Apr 30
5*071d4279SBram Moolenaar
6*071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
7*071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
8*071d4279SBram Moolenaarif version < 600
9*071d4279SBram Moolenaar  syntax clear
10*071d4279SBram Moolenaarelseif exists("b:current_syntax")
11*071d4279SBram Moolenaar  finish
12*071d4279SBram Moolenaarendif
13*071d4279SBram Moolenaar
14*071d4279SBram Moolenaarsyn case ignore
15*071d4279SBram Moolenaar
16*071d4279SBram Moolenaar" The SQL reserved words, defined as keywords.
17*071d4279SBram Moolenaar
18*071d4279SBram Moolenaarsyn keyword sqlSpecial  false null true
19*071d4279SBram Moolenaar
20*071d4279SBram Moolenaarsyn keyword sqlKeyword	access add as asc begin by check cluster column
21*071d4279SBram Moolenaarsyn keyword sqlKeyword	compress connect current cursor decimal default desc
22*071d4279SBram Moolenaarsyn keyword sqlKeyword	else elsif end exception exclusive file for from
23*071d4279SBram Moolenaarsyn keyword sqlKeyword	function group having identified if immediate increment
24*071d4279SBram Moolenaarsyn keyword sqlKeyword	index initial into is level loop maxextents mode modify
25*071d4279SBram Moolenaarsyn keyword sqlKeyword	nocompress nowait of offline on online start
26*071d4279SBram Moolenaarsyn keyword sqlKeyword	successful synonym table then to trigger uid
27*071d4279SBram Moolenaarsyn keyword sqlKeyword	unique user validate values view whenever
28*071d4279SBram Moolenaarsyn keyword sqlKeyword	where with option order pctfree privileges procedure
29*071d4279SBram Moolenaarsyn keyword sqlKeyword	public resource return row rowlabel rownum rows
30*071d4279SBram Moolenaarsyn keyword sqlKeyword	session share size smallint type using
31*071d4279SBram Moolenaar
32*071d4279SBram Moolenaarsyn keyword sqlOperator	not and or
33*071d4279SBram Moolenaarsyn keyword sqlOperator	in any some all between exists
34*071d4279SBram Moolenaarsyn keyword sqlOperator	like escape
35*071d4279SBram Moolenaarsyn keyword sqlOperator union intersect minus
36*071d4279SBram Moolenaarsyn keyword sqlOperator prior distinct
37*071d4279SBram Moolenaarsyn keyword sqlOperator	sysdate out
38*071d4279SBram Moolenaar
39*071d4279SBram Moolenaarsyn keyword sqlStatement alter analyze audit comment commit create
40*071d4279SBram Moolenaarsyn keyword sqlStatement delete drop execute explain grant insert lock noaudit
41*071d4279SBram Moolenaarsyn keyword sqlStatement rename revoke rollback savepoint select set
42*071d4279SBram Moolenaarsyn keyword sqlStatement truncate update
43*071d4279SBram Moolenaar
44*071d4279SBram Moolenaarsyn keyword sqlType	boolean char character date float integer long
45*071d4279SBram Moolenaarsyn keyword sqlType	mlslabel number raw rowid varchar varchar2 varray
46*071d4279SBram Moolenaar
47*071d4279SBram Moolenaar" Strings and characters:
48*071d4279SBram Moolenaarsyn region sqlString		start=+"+  skip=+\\\\\|\\"+  end=+"+
49*071d4279SBram Moolenaarsyn region sqlString		start=+'+  skip=+\\\\\|\\'+  end=+'+
50*071d4279SBram Moolenaar
51*071d4279SBram Moolenaar" Numbers:
52*071d4279SBram Moolenaarsyn match sqlNumber		"-\=\<\d*\.\=[0-9_]\>"
53*071d4279SBram Moolenaar
54*071d4279SBram Moolenaar" Comments:
55*071d4279SBram Moolenaarsyn region sqlComment    start="/\*"  end="\*/" contains=sqlTodo
56*071d4279SBram Moolenaarsyn match sqlComment	"--.*$" contains=sqlTodo
57*071d4279SBram Moolenaar
58*071d4279SBram Moolenaarsyn sync ccomment sqlComment
59*071d4279SBram Moolenaar
60*071d4279SBram Moolenaar" Todo.
61*071d4279SBram Moolenaarsyn keyword sqlTodo TODO FIXME XXX DEBUG NOTE
62*071d4279SBram Moolenaar
63*071d4279SBram Moolenaar" Define the default highlighting.
64*071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already
65*071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet
66*071d4279SBram Moolenaarif version >= 508 || !exists("did_sql_syn_inits")
67*071d4279SBram Moolenaar  if version < 508
68*071d4279SBram Moolenaar    let did_sql_syn_inits = 1
69*071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
70*071d4279SBram Moolenaar  else
71*071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
72*071d4279SBram Moolenaar  endif
73*071d4279SBram Moolenaar
74*071d4279SBram Moolenaar  HiLink sqlComment	Comment
75*071d4279SBram Moolenaar  HiLink sqlKeyword	sqlSpecial
76*071d4279SBram Moolenaar  HiLink sqlNumber	Number
77*071d4279SBram Moolenaar  HiLink sqlOperator	sqlStatement
78*071d4279SBram Moolenaar  HiLink sqlSpecial	Special
79*071d4279SBram Moolenaar  HiLink sqlStatement	Statement
80*071d4279SBram Moolenaar  HiLink sqlString	String
81*071d4279SBram Moolenaar  HiLink sqlType	Type
82*071d4279SBram Moolenaar  HiLink sqlTodo	Todo
83*071d4279SBram Moolenaar
84*071d4279SBram Moolenaar  delcommand HiLink
85*071d4279SBram Moolenaarendif
86*071d4279SBram Moolenaar
87*071d4279SBram Moolenaarlet b:current_syntax = "sql"
88*071d4279SBram Moolenaar
89*071d4279SBram Moolenaar" vim: ts=8
90