blob: ea8d7ecb6c6553bb9c68f1476aae0b2af9afef3e [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: sqlj
3" Maintainer: Andreas Fischbach <afisch@altavista.com>
4" This file is based on sql.vim && java.vim (thanx)
5" with a handful of additional sql words and still
6" a subset of whatever standard
7" Last change: 31th Dec 2001
8
9" au BufNewFile,BufRead *.sqlj so $VIM/syntax/sqlj.vim
10
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020011" quit when a syntax file was already loaded
12if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000013 finish
14endif
15
16" Read the Java syntax to start with
17source <sfile>:p:h/java.vim
18
19" SQLJ extentions
20" The SQL reserved words, defined as keywords.
21
22syn case ignore
23syn keyword sqljSpecial null
24
25syn keyword sqljKeyword access add as asc by check cluster column
26syn keyword sqljKeyword compress connect current decimal default
27syn keyword sqljKeyword desc else exclusive file for from group
28syn keyword sqljKeyword having identified immediate increment index
29syn keyword sqljKeyword initial into is level maxextents mode modify
30syn keyword sqljKeyword nocompress nowait of offline on online start
31syn keyword sqljKeyword successful synonym table then to trigger uid
32syn keyword sqljKeyword unique user validate values view whenever
33syn keyword sqljKeyword where with option order pctfree privileges
34syn keyword sqljKeyword public resource row rowlabel rownum rows
35syn keyword sqljKeyword session share size smallint
36
37syn keyword sqljKeyword fetch database context iterator field join
38syn keyword sqljKeyword foreign outer inner isolation left right
39syn keyword sqljKeyword match primary key
40
41syn keyword sqljOperator not and or
42syn keyword sqljOperator in any some all between exists
43syn keyword sqljOperator like escape
44syn keyword sqljOperator union intersect minus
45syn keyword sqljOperator prior distinct
46syn keyword sqljOperator sysdate
47
48syn keyword sqljOperator max min avg sum count hex
49
50syn keyword sqljStatement alter analyze audit comment commit create
51syn keyword sqljStatement delete drop explain grant insert lock noaudit
52syn keyword sqljStatement rename revoke rollback savepoint select set
53syn keyword sqljStatement truncate update begin work
54
55syn keyword sqljType char character date long raw mlslabel number
56syn keyword sqljType rowid varchar varchar2 float integer
57
58syn keyword sqljType byte text serial
59
60
61" Strings and characters:
62syn region sqljString start=+"+ skip=+\\\\\|\\"+ end=+"+
63syn region sqljString start=+'+ skip=+\\\\\|\\"+ end=+'+
64
65" Numbers:
66syn match sqljNumber "-\=\<\d*\.\=[0-9_]\>"
67
68" PreProc
69syn match sqljPre "#sql"
70
71" Comments:
72syn region sqljComment start="/\*" end="\*/"
73syn match sqlComment "--.*"
74
75syn sync ccomment sqljComment
76
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020077command! -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000078
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020079" The default methods for highlighting. Can be overridden later.
80HiLink sqljComment Comment
81HiLink sqljKeyword sqljSpecial
82HiLink sqljNumber Number
83HiLink sqljOperator sqljStatement
84HiLink sqljSpecial Special
85HiLink sqljStatement Statement
86HiLink sqljString String
87HiLink sqljType Type
88HiLink sqljPre PreProc
Bram Moolenaar57657d82006-04-21 22:12:41 +000089
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020090delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000091
92let b:current_syntax = "sqlj"
93