Advertisement
Guest User

Firebird SQL syntax for VIM

a guest
Jun 13th, 2014
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 5.72 KB | None | 0 0
  1. " Vim syntax file
  2. " Language:    SQL
  3. " Maintainer:  Scott Morgan < blumf7 at gmail dot com >
  4. " Last Change: 2014-06-13
  5. " Version:     1.0
  6.  
  7. " For version 5.x: Clear all syntax items
  8. " For version 6.x: Quit when a syntax file was already loaded
  9. if version < 600
  10.     syntax clear
  11. elseif exists("b:current_syntax")
  12.     finish
  13. endif
  14.  
  15. syn case ignore
  16.  
  17. " The SQL reserved words, defined as keywords.
  18. setlocal iskeyword+==,<,>,!,~,^,|
  19.  
  20. syn keyword sqlConst        null
  21.  
  22. syn keyword sqlType         bigint blob char character date decimal double float
  23. syn keyword sqlType         int integer long numeric smallint sub_type time
  24. syn keyword sqlType         timestamp varchar
  25.  
  26. syn keyword sqlFunction     abs acos ascii_char ascii_val asin atan atan2 bin_and
  27. syn keyword sqlFunction     bin_not bin_or bin_shl bin_shr bin_xor bit_length cast
  28. syn keyword sqlFunction     ceil ceiling char_length char_to_uuid character_length
  29. syn keyword sqlFunction     coalesce cos cosh cot dateadd datediff decode exp
  30. syn keyword sqlFunction     extract floor gen_id gen_uuid hash iif ln log log10
  31. syn keyword sqlFunction     lower lpad maxvalue minvalue mod nullif octet_length
  32. syn keyword sqlFunction     overlay pi position power rand rdb$get_context
  33. syn keyword sqlFunction     rdb$set_context replace reverse round rpad sign sin
  34. syn keyword sqlFunction     sinh sqrt substring tan tanh trim trunc upper
  35. syn keyword sqlFunction     uuid_to_char
  36.  
  37. syn keyword sqlStatement    alter as by commit create database delete drop execute
  38. syn keyword sqlStatement    first for from group having index inner insert into
  39. syn keyword sqlStatement    join left matching merge on order outer right rollback
  40. syn keyword sqlStatement    select set shell union update using where with
  41.  
  42. syn keyword sqlOperator     !< ^< ^= ^> , := != !> ( ) < <= <> = > >= "~<" ~= ~> "||"
  43. syn keyword sqlOperator     and escape in like not or similar unique values
  44.  
  45. syn keyword sqlKeyword      begin
  46.  
  47. syn keyword sqlTypeMod      default foreign key primary
  48.  
  49. syn keyword sqlObject       domain exception function generator procedure role
  50. syn keyword sqlObject       table trigger view
  51.  
  52. syn keyword sqlFunction     avg count list max min sum
  53.  
  54. " currently unspecified keywords
  55. syn keyword sqlKeyword      accent action active add admin after all always any asc
  56. syn keyword sqlKeyword      ascending at auto autonomous backup before between
  57. syn keyword sqlKeyword      block both break caller cascade case check close
  58. syn keyword sqlKeyword      collate collation column comment committed common
  59. syn keyword sqlKeyword      computed conditional connect constraint containing
  60. syn keyword sqlKeyword      cross cstring current current_connection current_date
  61. syn keyword sqlKeyword      current_role current_time current_timestamp
  62. syn keyword sqlKeyword      current_transaction current_user cursor data day dec
  63. syn keyword sqlKeyword      declare deleting desc descending descriptor difference
  64. syn keyword sqlKeyword      disconnect distinct do else end entry_point exists exit
  65. syn keyword sqlKeyword      external fetch file filter firstname free_it full
  66. syn keyword sqlKeyword      gdscode generated global grant granted hour if ignore
  67. syn keyword sqlKeyword      inactive input_type insensitive inserting is isolation
  68. syn keyword sqlKeyword      last lastname leading leave length level limbo lock
  69. syn keyword sqlKeyword      manual mapping matched maximum_segment middlename
  70. syn keyword sqlKeyword      millisecond minute module_name month names national
  71. syn keyword sqlKeyword      natural nchar next no nulls of only open option os_name
  72. syn keyword sqlKeyword      output_type overflow pad page page_size pages parameter
  73. syn keyword sqlKeyword      password placing plan post_event precision preserve
  74. syn keyword sqlKeyword      privileges protected rdb$db_key read real
  75. syn keyword sqlKeyword      record_version recreate recursive references release
  76. syn keyword sqlKeyword      requests reserv reserving restart restrict retain
  77. syn keyword sqlKeyword      returning returning_values returns revoke row_count
  78. syn keyword sqlKeyword      rows savepoint scalar_array schema second segment
  79. syn keyword sqlKeyword      sensitive sequence shadow shared singular size skip
  80. syn keyword sqlKeyword      snapshot some sort source space sqlcode sqlstate
  81. syn keyword sqlKeyword      stability start starting starts statement statistics
  82. syn keyword sqlKeyword      suspend temporary then timeout to trailing transaction
  83. syn keyword sqlKeyword      two_phase type uncommitted undo updating user value
  84. syn keyword sqlKeyword      variable varying wait week weekday when while work
  85. syn keyword sqlKeyword      write year yearday
  86.  
  87. " Strings and characters:
  88. syn region sqlString        start=+"+  skip=+\\\\\|\\"+  end=+"+
  89. syn region sqlString        start=+'+  skip=+\\\\\|\\'+  end=+'+
  90.  
  91. " Numbers:
  92. syn match sqlNumber     "-\=\<\d*\.\=[0-9_]\>"
  93.  
  94. " Comments:
  95. syn region sqlComment    start="/\*"  end="\*/" contains=sqlTodo
  96. syn match sqlComment    "--.*$" contains=sqlTodo
  97.  
  98. syn sync ccomment sqlComment
  99.  
  100. " Todo.
  101. syn keyword sqlTodo contained TODO FIXME XXX DEBUG NOTE
  102.  
  103. " Define the default highlighting.
  104. " For version 5.7 and earlier: only when not done already
  105. " For version 5.8 and later: only when an item doesn't have highlighting yet
  106. if version >= 508 || !exists("did_sql_syn_inits")
  107.   if version < 508
  108.     let did_sql_syn_inits = 1
  109.     command -nargs=+ HiLink hi link <args>
  110.   else
  111.     command -nargs=+ HiLink hi def link <args>
  112.   endif
  113.  
  114.   HiLink sqlKeyword     sqlSpecial
  115.  
  116.   HiLink sqlOperator    sqlStatement
  117.   HiLink sqlSpecial     Special
  118.   HiLink sqlFunction    Special
  119.  
  120.   HiLink sqlStatement   Statement
  121.   HiLink sqlObject      Identifier
  122.   HiLink sqlType        Type
  123.   HiLink sqlTypeMod     Type
  124.  
  125.   HiLink sqlConst       String
  126.   HiLink sqlString      String
  127.   HiLink sqlNumber      Number
  128.  
  129.   HiLink sqlComment     Comment
  130.   HiLink sqlTodo        Todo
  131.  
  132.   delcommand HiLink
  133. endif
  134.  
  135. let b:current_syntax = "sql"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement