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