1*071d4279SBram Moolenaar" Vim syntax file 2*071d4279SBram Moolenaar" Language: SQL, PL/SQL (Oracle 8i) 3*071d4279SBram Moolenaar" Maintainer: Paul Moore <[email protected]> 4*071d4279SBram Moolenaar" Last Change: 2001 Apr 30 5*071d4279SBram Moolenaar 6*071d4279SBram Moolenaar" For version 5.x: Clear all syntax items 7*071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded 8*071d4279SBram Moolenaarif version < 600 9*071d4279SBram Moolenaar syntax clear 10*071d4279SBram Moolenaarelseif exists("b:current_syntax") 11*071d4279SBram Moolenaar finish 12*071d4279SBram Moolenaarendif 13*071d4279SBram Moolenaar 14*071d4279SBram Moolenaarsyn case ignore 15*071d4279SBram Moolenaar 16*071d4279SBram Moolenaar" The SQL reserved words, defined as keywords. 17*071d4279SBram Moolenaar 18*071d4279SBram Moolenaarsyn keyword sqlSpecial false null true 19*071d4279SBram Moolenaar 20*071d4279SBram Moolenaarsyn keyword sqlKeyword access add as asc begin by check cluster column 21*071d4279SBram Moolenaarsyn keyword sqlKeyword compress connect current cursor decimal default desc 22*071d4279SBram Moolenaarsyn keyword sqlKeyword else elsif end exception exclusive file for from 23*071d4279SBram Moolenaarsyn keyword sqlKeyword function group having identified if immediate increment 24*071d4279SBram Moolenaarsyn keyword sqlKeyword index initial into is level loop maxextents mode modify 25*071d4279SBram Moolenaarsyn keyword sqlKeyword nocompress nowait of offline on online start 26*071d4279SBram Moolenaarsyn keyword sqlKeyword successful synonym table then to trigger uid 27*071d4279SBram Moolenaarsyn keyword sqlKeyword unique user validate values view whenever 28*071d4279SBram Moolenaarsyn keyword sqlKeyword where with option order pctfree privileges procedure 29*071d4279SBram Moolenaarsyn keyword sqlKeyword public resource return row rowlabel rownum rows 30*071d4279SBram Moolenaarsyn keyword sqlKeyword session share size smallint type using 31*071d4279SBram Moolenaar 32*071d4279SBram Moolenaarsyn keyword sqlOperator not and or 33*071d4279SBram Moolenaarsyn keyword sqlOperator in any some all between exists 34*071d4279SBram Moolenaarsyn keyword sqlOperator like escape 35*071d4279SBram Moolenaarsyn keyword sqlOperator union intersect minus 36*071d4279SBram Moolenaarsyn keyword sqlOperator prior distinct 37*071d4279SBram Moolenaarsyn keyword sqlOperator sysdate out 38*071d4279SBram Moolenaar 39*071d4279SBram Moolenaarsyn keyword sqlStatement alter analyze audit comment commit create 40*071d4279SBram Moolenaarsyn keyword sqlStatement delete drop execute explain grant insert lock noaudit 41*071d4279SBram Moolenaarsyn keyword sqlStatement rename revoke rollback savepoint select set 42*071d4279SBram Moolenaarsyn keyword sqlStatement truncate update 43*071d4279SBram Moolenaar 44*071d4279SBram Moolenaarsyn keyword sqlType boolean char character date float integer long 45*071d4279SBram Moolenaarsyn keyword sqlType mlslabel number raw rowid varchar varchar2 varray 46*071d4279SBram Moolenaar 47*071d4279SBram Moolenaar" Strings and characters: 48*071d4279SBram Moolenaarsyn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+ 49*071d4279SBram Moolenaarsyn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+ 50*071d4279SBram Moolenaar 51*071d4279SBram Moolenaar" Numbers: 52*071d4279SBram Moolenaarsyn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" 53*071d4279SBram Moolenaar 54*071d4279SBram Moolenaar" Comments: 55*071d4279SBram Moolenaarsyn region sqlComment start="/\*" end="\*/" contains=sqlTodo 56*071d4279SBram Moolenaarsyn match sqlComment "--.*$" contains=sqlTodo 57*071d4279SBram Moolenaar 58*071d4279SBram Moolenaarsyn sync ccomment sqlComment 59*071d4279SBram Moolenaar 60*071d4279SBram Moolenaar" Todo. 61*071d4279SBram Moolenaarsyn keyword sqlTodo TODO FIXME XXX DEBUG NOTE 62*071d4279SBram Moolenaar 63*071d4279SBram Moolenaar" Define the default highlighting. 64*071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already 65*071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet 66*071d4279SBram Moolenaarif version >= 508 || !exists("did_sql_syn_inits") 67*071d4279SBram Moolenaar if version < 508 68*071d4279SBram Moolenaar let did_sql_syn_inits = 1 69*071d4279SBram Moolenaar command -nargs=+ HiLink hi link <args> 70*071d4279SBram Moolenaar else 71*071d4279SBram Moolenaar command -nargs=+ HiLink hi def link <args> 72*071d4279SBram Moolenaar endif 73*071d4279SBram Moolenaar 74*071d4279SBram Moolenaar HiLink sqlComment Comment 75*071d4279SBram Moolenaar HiLink sqlKeyword sqlSpecial 76*071d4279SBram Moolenaar HiLink sqlNumber Number 77*071d4279SBram Moolenaar HiLink sqlOperator sqlStatement 78*071d4279SBram Moolenaar HiLink sqlSpecial Special 79*071d4279SBram Moolenaar HiLink sqlStatement Statement 80*071d4279SBram Moolenaar HiLink sqlString String 81*071d4279SBram Moolenaar HiLink sqlType Type 82*071d4279SBram Moolenaar HiLink sqlTodo Todo 83*071d4279SBram Moolenaar 84*071d4279SBram Moolenaar delcommand HiLink 85*071d4279SBram Moolenaarendif 86*071d4279SBram Moolenaar 87*071d4279SBram Moolenaarlet b:current_syntax = "sql" 88*071d4279SBram Moolenaar 89*071d4279SBram Moolenaar" vim: ts=8 90