Created
June 13, 2014 19:53
-
-
Save ik5/9a49dbd10a24fad281cf to your computer and use it in GitHub Desktop.
Firebird SQL syntax for VIM - http://pastebin.com/DNag96VC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Vim syntax file | |
" Language: SQL | |
" Maintainer: Scott Morgan < blumf7 at gmail dot com > | |
" Last Change: 2014-06-13 | |
" Version: 1.0 | |
" For version 5.x: Clear all syntax items | |
" For version 6.x: Quit when a syntax file was already loaded | |
if version < 600 | |
syntax clear | |
elseif exists("b:current_syntax") | |
finish | |
endif | |
syn case ignore | |
" The SQL reserved words, defined as keywords. | |
setlocal iskeyword+==,<,>,!,~,^,| | |
syn keyword sqlConst null | |
syn keyword sqlType bigint blob char character date decimal double float | |
syn keyword sqlType int integer long numeric smallint sub_type time | |
syn keyword sqlType timestamp varchar | |
syn keyword sqlFunction abs acos ascii_char ascii_val asin atan atan2 bin_and | |
syn keyword sqlFunction bin_not bin_or bin_shl bin_shr bin_xor bit_length cast | |
syn keyword sqlFunction ceil ceiling char_length char_to_uuid character_length | |
syn keyword sqlFunction coalesce cos cosh cot dateadd datediff decode exp | |
syn keyword sqlFunction extract floor gen_id gen_uuid hash iif ln log log10 | |
syn keyword sqlFunction lower lpad maxvalue minvalue mod nullif octet_length | |
syn keyword sqlFunction overlay pi position power rand rdb$get_context | |
syn keyword sqlFunction rdb$set_context replace reverse round rpad sign sin | |
syn keyword sqlFunction sinh sqrt substring tan tanh trim trunc upper | |
syn keyword sqlFunction uuid_to_char | |
syn keyword sqlStatement alter as by commit create database delete drop execute | |
syn keyword sqlStatement first for from group having index inner insert into | |
syn keyword sqlStatement join left matching merge on order outer right rollback | |
syn keyword sqlStatement select set shell union update using where with | |
syn keyword sqlOperator !< ^< ^= ^> , := != !> ( ) < <= <> = > >= "~<" ~= ~> "||" | |
syn keyword sqlOperator and escape in like not or similar unique values | |
syn keyword sqlKeyword begin | |
syn keyword sqlTypeMod default foreign key primary | |
syn keyword sqlObject domain exception function generator procedure role | |
syn keyword sqlObject table trigger view | |
syn keyword sqlFunction avg count list max min sum | |
" currently unspecified keywords | |
syn keyword sqlKeyword accent action active add admin after all always any asc | |
syn keyword sqlKeyword ascending at auto autonomous backup before between | |
syn keyword sqlKeyword block both break caller cascade case check close | |
syn keyword sqlKeyword collate collation column comment committed common | |
syn keyword sqlKeyword computed conditional connect constraint containing | |
syn keyword sqlKeyword cross cstring current current_connection current_date | |
syn keyword sqlKeyword current_role current_time current_timestamp | |
syn keyword sqlKeyword current_transaction current_user cursor data day dec | |
syn keyword sqlKeyword declare deleting desc descending descriptor difference | |
syn keyword sqlKeyword disconnect distinct do else end entry_point exists exit | |
syn keyword sqlKeyword external fetch file filter firstname free_it full | |
syn keyword sqlKeyword gdscode generated global grant granted hour if ignore | |
syn keyword sqlKeyword inactive input_type insensitive inserting is isolation | |
syn keyword sqlKeyword last lastname leading leave length level limbo lock | |
syn keyword sqlKeyword manual mapping matched maximum_segment middlename | |
syn keyword sqlKeyword millisecond minute module_name month names national | |
syn keyword sqlKeyword natural nchar next no nulls of only open option os_name | |
syn keyword sqlKeyword output_type overflow pad page page_size pages parameter | |
syn keyword sqlKeyword password placing plan post_event precision preserve | |
syn keyword sqlKeyword privileges protected rdb$db_key read real | |
syn keyword sqlKeyword record_version recreate recursive references release | |
syn keyword sqlKeyword requests reserv reserving restart restrict retain | |
syn keyword sqlKeyword returning returning_values returns revoke row_count | |
syn keyword sqlKeyword rows savepoint scalar_array schema second segment | |
syn keyword sqlKeyword sensitive sequence shadow shared singular size skip | |
syn keyword sqlKeyword snapshot some sort source space sqlcode sqlstate | |
syn keyword sqlKeyword stability start starting starts statement statistics | |
syn keyword sqlKeyword suspend temporary then timeout to trailing transaction | |
syn keyword sqlKeyword two_phase type uncommitted undo updating user value | |
syn keyword sqlKeyword variable varying wait week weekday when while work | |
syn keyword sqlKeyword write year yearday | |
" Strings and characters: | |
syn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+ | |
syn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+ | |
" Numbers: | |
syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" | |
" Comments: | |
syn region sqlComment start="/\*" end="\*/" contains=sqlTodo | |
syn match sqlComment "--.*$" contains=sqlTodo | |
syn sync ccomment sqlComment | |
" Todo. | |
syn keyword sqlTodo contained TODO FIXME XXX DEBUG NOTE | |
" Define the default highlighting. | |
" For version 5.7 and earlier: only when not done already | |
" For version 5.8 and later: only when an item doesn't have highlighting yet | |
if version >= 508 || !exists("did_sql_syn_inits") | |
if version < 508 | |
let did_sql_syn_inits = 1 | |
command -nargs=+ HiLink hi link <args> | |
else | |
command -nargs=+ HiLink hi def link <args> | |
endif | |
HiLink sqlKeyword sqlSpecial | |
HiLink sqlOperator sqlStatement | |
HiLink sqlSpecial Special | |
HiLink sqlFunction Special | |
HiLink sqlStatement Statement | |
HiLink sqlObject Identifier | |
HiLink sqlType Type | |
HiLink sqlTypeMod Type | |
HiLink sqlConst String | |
HiLink sqlString String | |
HiLink sqlNumber Number | |
HiLink sqlComment Comment | |
HiLink sqlTodo Todo | |
delcommand HiLink | |
endif | |
let b:current_syntax = "sql" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment