sqlinformix.vim 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. " Vim syntax file
  2. " Informix Structured Query Language (SQL) and Stored Procedure Language (SPL)
  3. " Language: SQL, SPL (Informix Dynamic Server 2000 v9.2)
  4. " Maintainer: Dean Hill <dhill@hotmail.com>
  5. " Last Change: 2004 Aug 30
  6. " quit when a syntax file was already loaded
  7. if exists("b:current_syntax")
  8. finish
  9. endif
  10. syn case ignore
  11. " === Comment syntax group ===
  12. syn region sqlComment start="{" end="}" contains=sqlTodo
  13. syn match sqlComment "--.*$" contains=sqlTodo
  14. syn sync ccomment sqlComment
  15. " === Constant syntax group ===
  16. " = Boolean subgroup =
  17. syn keyword sqlBoolean true false
  18. syn keyword sqlBoolean null
  19. syn keyword sqlBoolean public user
  20. syn keyword sqlBoolean current today
  21. syn keyword sqlBoolean year month day hour minute second fraction
  22. " = String subgroup =
  23. syn region sqlString start=+"+ end=+"+
  24. syn region sqlString start=+'+ end=+'+
  25. " = Numbers subgroup =
  26. syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
  27. " === Statement syntax group ===
  28. " SQL
  29. syn keyword sqlStatement allocate alter
  30. syn keyword sqlStatement begin
  31. syn keyword sqlStatement close commit connect create
  32. syn keyword sqlStatement database deallocate declare delete describe disconnect drop
  33. syn keyword sqlStatement execute fetch flush free get grant info insert
  34. syn keyword sqlStatement load lock open output
  35. syn keyword sqlStatement prepare put
  36. syn keyword sqlStatement rename revoke rollback select set start stop
  37. syn keyword sqlStatement truncate unload unlock update
  38. syn keyword sqlStatement whenever
  39. " SPL
  40. syn keyword sqlStatement call continue define
  41. syn keyword sqlStatement exit
  42. syn keyword sqlStatement let
  43. syn keyword sqlStatement return system trace
  44. " = Conditional subgroup =
  45. " SPL
  46. syn keyword sqlConditional elif else if then
  47. syn keyword sqlConditional case
  48. " Highlight "end if" with one or more separating spaces
  49. syn match sqlConditional "end \+if"
  50. " = Repeat subgroup =
  51. " SQL/SPL
  52. " Handle SQL triggers' "for each row" clause and SPL "for" loop
  53. syn match sqlRepeat "for\( \+each \+row\)\="
  54. " SPL
  55. syn keyword sqlRepeat foreach while
  56. " Highlight "end for", etc. with one or more separating spaces
  57. syn match sqlRepeat "end \+for"
  58. syn match sqlRepeat "end \+foreach"
  59. syn match sqlRepeat "end \+while"
  60. " = Exception subgroup =
  61. " SPL
  62. syn match sqlException "on \+exception"
  63. syn match sqlException "end \+exception"
  64. syn match sqlException "end \+exception \+with \+resume"
  65. syn match sqlException "raise \+exception"
  66. " = Keyword subgroup =
  67. " SQL
  68. syn keyword sqlKeyword aggregate add as authorization autofree by
  69. syn keyword sqlKeyword cache cascade check cluster collation
  70. syn keyword sqlKeyword column connection constraint cross
  71. syn keyword sqlKeyword dataskip debug default deferred_prepare
  72. syn keyword sqlKeyword descriptor diagnostics
  73. syn keyword sqlKeyword each escape explain external
  74. syn keyword sqlKeyword file foreign fragment from function
  75. syn keyword sqlKeyword group having
  76. syn keyword sqlKeyword immediate index inner into isolation
  77. syn keyword sqlKeyword join key
  78. syn keyword sqlKeyword left level log
  79. syn keyword sqlKeyword mode modify mounting new no
  80. syn keyword sqlKeyword object of old optical option
  81. syn keyword sqlKeyword optimization order outer
  82. syn keyword sqlKeyword pdqpriority pload primary procedure
  83. syn keyword sqlKeyword references referencing release reserve
  84. syn keyword sqlKeyword residency right role routine row
  85. syn keyword sqlKeyword schedule schema scratch session set
  86. syn keyword sqlKeyword statement statistics synonym
  87. syn keyword sqlKeyword table temp temporary timeout to transaction trigger
  88. syn keyword sqlKeyword using values view violations
  89. syn keyword sqlKeyword where with work
  90. " Highlight "on" (if it's not followed by some words we've already handled)
  91. syn match sqlKeyword "on \+\(exception\)\@!"
  92. " SPL
  93. " Highlight "end" (if it's not followed by some words we've already handled)
  94. syn match sqlKeyword "end \+\(if\|for\|foreach\|while\|exception\)\@!"
  95. syn keyword sqlKeyword resume returning
  96. " = Operator subgroup =
  97. " SQL
  98. syn keyword sqlOperator not and or
  99. syn keyword sqlOperator in is any some all between exists
  100. syn keyword sqlOperator like matches
  101. syn keyword sqlOperator union intersect
  102. syn keyword sqlOperator distinct unique
  103. " === Identifier syntax group ===
  104. " = Function subgroup =
  105. " SQL
  106. syn keyword sqlFunction abs acos asin atan atan2 avg
  107. syn keyword sqlFunction cardinality cast char_length character_length cos count
  108. syn keyword sqlFunction exp filetoblob filetoclob hex
  109. syn keyword sqlFunction initcap length logn log10 lower lpad
  110. syn keyword sqlFunction min max mod octet_length pow range replace root round rpad
  111. syn keyword sqlFunction sin sqrt stdev substr substring sum
  112. syn keyword sqlFunction to_char tan to_date trim trunc upper variance
  113. " === Type syntax group ===
  114. " SQL
  115. syn keyword sqlType blob boolean byte char character clob
  116. syn keyword sqlType date datetime dec decimal double
  117. syn keyword sqlType float int int8 integer interval list lvarchar
  118. syn keyword sqlType money multiset nchar numeric nvarchar
  119. syn keyword sqlType real serial serial8 smallfloat smallint
  120. syn keyword sqlType text varchar varying
  121. " === Todo syntax group ===
  122. syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE
  123. " Define the default highlighting.
  124. " Only when an item doesn't have highlighting yet
  125. " === Comment syntax group ===
  126. hi def link sqlComment Comment
  127. " === Constant syntax group ===
  128. hi def link sqlNumber Number
  129. hi def link sqlBoolean Boolean
  130. hi def link sqlString String
  131. " === Statment syntax group ===
  132. hi def link sqlStatement Statement
  133. hi def link sqlConditional Conditional
  134. hi def link sqlRepeat Repeat
  135. hi def link sqlKeyword Keyword
  136. hi def link sqlOperator Operator
  137. hi def link sqlException Exception
  138. " === Identifier syntax group ===
  139. hi def link sqlFunction Function
  140. " === Type syntax group ===
  141. hi def link sqlType Type
  142. " === Todo syntax group ===
  143. hi def link sqlTodo Todo
  144. let b:current_syntax = "sqlinformix"