diff options
Diffstat (limited to 'runtime/syntax/sqloracle.vim')
| -rw-r--r-- | runtime/syntax/sqloracle.vim | 54 |
1 files changed, 35 insertions, 19 deletions
diff --git a/runtime/syntax/sqloracle.vim b/runtime/syntax/sqloracle.vim index 8afe2686bf..0907b48f0e 100644 --- a/runtime/syntax/sqloracle.vim +++ b/runtime/syntax/sqloracle.vim @@ -4,7 +4,15 @@ " Repository: https://github.com/chrisbra/vim-sqloracle-syntax " License: Vim " Previous Maintainer: Paul Moore -" Last Change: 2015 Nov 24 +" Last Change: 2018 June 24 + +" Changes: +" 02.04.2016: Support for when keyword +" 03.04.2016: Support for join related keywords +" 22.07.2016: Support Oracle Q-Quote-Syntax +" 25.07.2016: Support for Oracle N'-Quote syntax +" 22.06.2018: Remove skip part for sqlString (do not escape strings) +" (https://web.archive.org/web/20150922065035/https://mariadb.com/kb/en/sql-99/character-string-literals/) if exists("b:current_syntax") finish @@ -24,10 +32,11 @@ syn keyword sqlKeyword index initial initrans into is level link logging loop syn keyword sqlKeyword maxextents maxtrans mode modify monitoring syn keyword sqlKeyword nocache nocompress nologging noparallel nowait of offline on online start syn keyword sqlKeyword parallel successful synonym table tablespace then to trigger uid -syn keyword sqlKeyword unique user validate values view whenever +syn keyword sqlKeyword unique user validate values view when whenever syn keyword sqlKeyword where with option order pctfree pctused privileges procedure syn keyword sqlKeyword public resource return row rowlabel rownum rows syn keyword sqlKeyword session share size smallint type using +syn keyword sqlKeyword join cross inner outer left right syn keyword sqlOperator not and or syn keyword sqlOperator in any some all between exists @@ -43,12 +52,19 @@ syn keyword sqlStatement truncate " next ones are contained, so folding works. syn keyword sqlStatement create update alter select insert contained -syn keyword sqlType boolean char character date float integer long -syn keyword sqlType mlslabel number raw rowid varchar varchar2 varray +syn keyword sqlType bfile blob boolean char character clob date datetime +syn keyword sqlType dec decimal float int integer long mlslabel nchar +syn keyword sqlType nclob number numeric nvarchar2 precision raw rowid +syn keyword sqlType smallint real timestamp urowid varchar varchar2 varray " Strings: -syn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+ +syn region sqlString matchgroup=Quote start=+n\?"+ end=+"+ +syn region sqlString matchgroup=Quote start=+n\?'+ end=+'+ +syn region sqlString matchgroup=Quote start=+n\?q'\z([^[(<{]\)+ end=+\z1'+ +syn region sqlString matchgroup=Quote start=+n\?q'<+ end=+>'+ +syn region sqlString matchgroup=Quote start=+n\?q'{+ end=+}'+ +syn region sqlString matchgroup=Quote start=+n\?q'(+ end=+)'+ +syn region sqlString matchgroup=Quote start=+n\?q'\[+ end=+]'+ " Numbers: syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" @@ -56,6 +72,7 @@ syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" " Comments: syn region sqlComment start="/\*" end="\*/" contains=sqlTodo,@Spell fold syn match sqlComment "--.*$" contains=sqlTodo,@Spell +syn match sqlComment "^rem.*$" contains=sqlTodo,@Spell " Setup Folding: " this is a hack, to get certain statements folded. @@ -117,18 +134,17 @@ syn keyword sqlFunction xmlparse xmlpatch xmlpi xmlquery xmlroot xmlsequence xml syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE contained " Define the default highlighting. -command -nargs=+ HiLink hi def link <args> -HiLink sqlComment Comment -HiLink sqlFunction Function -HiLink sqlKeyword sqlSpecial -HiLink sqlNumber Number -HiLink sqlOperator sqlStatement -HiLink sqlSpecial Special -HiLink sqlStatement Statement -HiLink sqlString String -HiLink sqlType Type -HiLink sqlTodo Todo - -delcommand HiLink +hi def link Quote Special +hi def link sqlComment Comment +hi def link sqlFunction Function +hi def link sqlKeyword sqlSpecial +hi def link sqlNumber Number +hi def link sqlOperator sqlStatement +hi def link sqlSpecial Special +hi def link sqlStatement Statement +hi def link sqlString String +hi def link sqlType Type +hi def link sqlTodo Todo + let b:current_syntax = "sql" " vim: ts=8 |