1" 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 97 98 delcommand HiLink 99endif 100 101let b:current_syntax = "sqlj" 102 103