blob: ba64bdfc076d68bf597793a062c5f207cadfd5ad [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
11" Remove any old syntax stuff hanging around
12if version < 600
13 syntax clear
14elseif exists("b:current_syntax")
15 finish
16endif
17
18" Read the Java syntax to start with
19source <sfile>:p:h/java.vim
20
21" SQLJ extentions
22" The SQL reserved words, defined as keywords.
23
24syn case ignore
25syn keyword sqljSpecial null
26
27syn keyword sqljKeyword access add as asc by check cluster column
28syn keyword sqljKeyword compress connect current decimal default
29syn keyword sqljKeyword desc else exclusive file for from group
30syn keyword sqljKeyword having identified immediate increment index
31syn keyword sqljKeyword initial into is level maxextents mode modify
32syn keyword sqljKeyword nocompress nowait of offline on online start
33syn keyword sqljKeyword successful synonym table then to trigger uid
34syn keyword sqljKeyword unique user validate values view whenever
35syn keyword sqljKeyword where with option order pctfree privileges
36syn keyword sqljKeyword public resource row rowlabel rownum rows
37syn keyword sqljKeyword session share size smallint
38
39syn keyword sqljKeyword fetch database context iterator field join
40syn keyword sqljKeyword foreign outer inner isolation left right
41syn keyword sqljKeyword match primary key
42
43syn keyword sqljOperator not and or
44syn keyword sqljOperator in any some all between exists
45syn keyword sqljOperator like escape
46syn keyword sqljOperator union intersect minus
47syn keyword sqljOperator prior distinct
48syn keyword sqljOperator sysdate
49
50syn keyword sqljOperator max min avg sum count hex
51
52syn keyword sqljStatement alter analyze audit comment commit create
53syn keyword sqljStatement delete drop explain grant insert lock noaudit
54syn keyword sqljStatement rename revoke rollback savepoint select set
55syn keyword sqljStatement truncate update begin work
56
57syn keyword sqljType char character date long raw mlslabel number
58syn keyword sqljType rowid varchar varchar2 float integer
59
60syn keyword sqljType byte text serial
61
62
63" Strings and characters:
64syn region sqljString start=+"+ skip=+\\\\\|\\"+ end=+"+
65syn region sqljString start=+'+ skip=+\\\\\|\\"+ end=+'+
66
67" Numbers:
68syn match sqljNumber "-\=\<\d*\.\=[0-9_]\>"
69
70" PreProc
71syn match sqljPre "#sql"
72
73" Comments:
74syn region sqljComment start="/\*" end="\*/"
75syn match sqlComment "--.*"
76
77syn sync ccomment sqljComment
78
79if version >= 508 || !exists("did_sqlj_syn_inits")
80 if version < 508
81 let did_sqlj_syn_inits = 1
82 command! -nargs=+ HiLink hi link <args>
83 else
84 command! -nargs=+ HiLink hi def link <args>
85 endif
86
87 " The default methods for highlighting. Can be overridden later.
88 HiLink sqljComment Comment
89 HiLink sqljKeyword sqljSpecial
90 HiLink sqljNumber Number
91 HiLink sqljOperator sqljStatement
92 HiLink sqljSpecial Special
93 HiLink sqljStatement Statement
94 HiLink sqljString String
95 HiLink sqljType Type
96 HiLink sqljPre PreProc
97endif
98
99let b:current_syntax = "sqlj"
100