summaryrefslogtreecommitdiff
path: root/runtime/syntax/sql.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/sql.vim')
-rw-r--r--runtime/syntax/sql.vim89
1 files changed, 89 insertions, 0 deletions
diff --git a/runtime/syntax/sql.vim b/runtime/syntax/sql.vim
new file mode 100644
index 000000000..9083b8136
--- /dev/null
+++ b/runtime/syntax/sql.vim
@@ -0,0 +1,89 @@
+" Vim syntax file
+" Language: SQL, PL/SQL (Oracle 8i)
+" Maintainer: Paul Moore <gustav@morpheus.demon.co.uk>
+" Last Change: 2001 Apr 30
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn case ignore
+
+" The SQL reserved words, defined as keywords.
+
+syn keyword sqlSpecial false null true
+
+syn keyword sqlKeyword access add as asc begin by check cluster column
+syn keyword sqlKeyword compress connect current cursor decimal default desc
+syn keyword sqlKeyword else elsif end exception exclusive file for from
+syn keyword sqlKeyword function group having identified if immediate increment
+syn keyword sqlKeyword index initial into is level loop maxextents mode modify
+syn keyword sqlKeyword nocompress nowait of offline on online start
+syn keyword sqlKeyword successful synonym table then to trigger uid
+syn keyword sqlKeyword unique user validate values view whenever
+syn keyword sqlKeyword where with option order pctfree privileges procedure
+syn keyword sqlKeyword public resource return row rowlabel rownum rows
+syn keyword sqlKeyword session share size smallint type using
+
+syn keyword sqlOperator not and or
+syn keyword sqlOperator in any some all between exists
+syn keyword sqlOperator like escape
+syn keyword sqlOperator union intersect minus
+syn keyword sqlOperator prior distinct
+syn keyword sqlOperator sysdate out
+
+syn keyword sqlStatement alter analyze audit comment commit create
+syn keyword sqlStatement delete drop execute explain grant insert lock noaudit
+syn keyword sqlStatement rename revoke rollback savepoint select set
+syn keyword sqlStatement truncate update
+
+syn keyword sqlType boolean char character date float integer long
+syn keyword sqlType mlslabel number raw rowid varchar varchar2 varray
+
+" Strings and characters:
+syn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
+
+" Numbers:
+syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
+
+" Comments:
+syn region sqlComment start="/\*" end="\*/" contains=sqlTodo
+syn match sqlComment "--.*$" contains=sqlTodo
+
+syn sync ccomment sqlComment
+
+" Todo.
+syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_sql_syn_inits")
+ if version < 508
+ let did_sql_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink sqlComment Comment
+ HiLink sqlKeyword sqlSpecial
+ HiLink sqlNumber Number
+ HiLink sqlOperator sqlStatement
+ HiLink sqlSpecial Special
+ HiLink sqlStatement Statement
+ HiLink sqlString String
+ HiLink sqlType Type
+ HiLink sqlTodo Todo
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "sql"
+
+" vim: ts=8