blob: fd0f8f3d7674da824b49f513a8df91497857ebb6 [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
Viktor Szépe3fc7a7e2023-08-23 21:20:00 +020019" SQLJ extensions
Bram Moolenaar071d4272004-06-13 20:20:40 +000020" 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 Moolenaar071d4272004-06-13 20:20:40 +000077
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020078" The default methods for highlighting. Can be overridden later.
Bram Moolenaarf37506f2016-08-31 22:22:10 +020079hi def link sqljComment Comment
80hi def link sqljKeyword sqljSpecial
81hi def link sqljNumber Number
82hi def link sqljOperator sqljStatement
83hi def link sqljSpecial Special
84hi def link sqljStatement Statement
85hi def link sqljString String
86hi def link sqljType Type
87hi def link sqljPre PreProc
Bram Moolenaar57657d82006-04-21 22:12:41 +000088
Bram Moolenaar071d4272004-06-13 20:20:40 +000089
90let b:current_syntax = "sqlj"
91