2 " Language: Stored Procedures (STP)
3 " Maintainer: Jeff Lanzarotta (jefflanzarotta@yahoo.com)
4 " URL: http://lanzarotta.tripod.com/vim/syntax/stp.vim.zip
5 " Last Change: March 05, 2002
7 " For version 5.x, clear all syntax items.
8 " For version 6.x, quit when a syntax file was already loaded.
11 elseif exists("b:current_syntax")
18 syn keyword stpSpecial null
21 syn keyword stpKeyword begin break call case create deallocate dynamic
22 syn keyword stpKeyword execute from function go grant
23 syn keyword stpKeyword index insert into leave max min on output procedure
24 syn keyword stpKeyword public result return returns scroll table to
25 syn keyword stpKeyword when
26 syn match stpKeyword "\<end\>"
29 syn keyword stpConditional if else elseif then
30 syn match stpConditional "\<end\s\+if\>"
33 syn keyword stpRepeat for while loop
34 syn match stpRepeat "\<end\s\+loop\>"
37 syn keyword stpOperator asc not and or desc group having in is any some all
38 syn keyword stpOperator between exists like escape with union intersect minus
39 syn keyword stpOperator out prior distinct sysdate
42 syn keyword stpStatement alter analyze as audit avg by close clustered comment
43 syn keyword stpStatement commit continue count create cursor declare delete
44 syn keyword stpStatement drop exec execute explain fetch from index insert
45 syn keyword stpStatement into lock max min next noaudit nonclustered open
46 syn keyword stpStatement order output print raiserror recompile rename revoke
47 syn keyword stpStatement rollback savepoint select set sum transaction
48 syn keyword stpStatement truncate unique update values where
51 syn keyword stpFunction abs acos ascii asin atan atn2 avg ceiling charindex
52 syn keyword stpFunction charlength convert col_name col_length cos cot count
53 syn keyword stpFunction curunreservedpgs datapgs datalength dateadd datediff
54 syn keyword stpFunction datename datepart db_id db_name degree difference
55 syn keyword stpFunction exp floor getdate hextoint host_id host_name index_col
56 syn keyword stpFunction inttohex isnull lct_admin log log10 lower ltrim max
57 syn keyword stpFunction min now object_id object_name patindex pi pos power
58 syn keyword stpFunction proc_role radians rand replace replicate reserved_pgs
59 syn keyword stpFunction reverse right rtrim rowcnt round show_role sign sin
60 syn keyword stpFunction soundex space sqrt str stuff substr substring sum
61 syn keyword stpFunction suser_id suser_name tan tsequal upper used_pgs user
62 syn keyword stpFunction user_id user_name valid_name valid_user message
65 syn keyword stpType binary bit char datetime decimal double float image
66 syn keyword stpType int integer long money nchar numeric precision real
67 syn keyword stpType smalldatetime smallint smallmoney text time tinyint
68 syn keyword stpType timestamp varbinary varchar
71 syn match stpGlobals '@@char_convert'
72 syn match stpGlobals '@@cient_csname'
73 syn match stpGlobals '@@client_csid'
74 syn match stpGlobals '@@connections'
75 syn match stpGlobals '@@cpu_busy'
76 syn match stpGlobals '@@error'
77 syn match stpGlobals '@@identity'
78 syn match stpGlobals '@@idle'
79 syn match stpGlobals '@@io_busy'
80 syn match stpGlobals '@@isolation'
81 syn match stpGlobals '@@langid'
82 syn match stpGlobals '@@language'
83 syn match stpGlobals '@@max_connections'
84 syn match stpGlobals '@@maxcharlen'
85 syn match stpGlobals '@@ncharsize'
86 syn match stpGlobals '@@nestlevel'
87 syn match stpGlobals '@@pack_received'
88 syn match stpGlobals '@@pack_sent'
89 syn match stpGlobals '@@packet_errors'
90 syn match stpGlobals '@@procid'
91 syn match stpGlobals '@@rowcount'
92 syn match stpGlobals '@@servername'
93 syn match stpGlobals '@@spid'
94 syn match stpGlobals '@@sqlstatus'
95 syn match stpGlobals '@@testts'
96 syn match stpGlobals '@@textcolid'
97 syn match stpGlobals '@@textdbid'
98 syn match stpGlobals '@@textobjid'
99 syn match stpGlobals '@@textptr'
100 syn match stpGlobals '@@textsize'
101 syn match stpGlobals '@@thresh_hysteresis'
102 syn match stpGlobals '@@timeticks'
103 syn match stpGlobals '@@total_error'
104 syn match stpGlobals '@@total_read'
105 syn match stpGlobals '@@total_write'
106 syn match stpGlobals '@@tranchained'
107 syn match stpGlobals '@@trancount'
108 syn match stpGlobals '@@transtate'
109 syn match stpGlobals '@@version'
112 syn keyword stpTodo TODO FIXME XXX DEBUG NOTE
114 " Strings and characters.
115 syn match stpStringError "'.*$"
116 syn match stpString "'\([^']\|''\)*'"
119 syn match stpNumber "-\=\<\d*\.\=[0-9_]\>"
122 syn region stpComment start="/\*" end="\*/" contains=stpTodo
123 syn match stpComment "--.*" contains=stpTodo
124 syn sync ccomment stpComment
127 syn region stpParen transparent start='(' end=')' contains=ALLBUT,stpParenError
128 syn match stpParenError ")"
130 " Syntax Synchronizing.
131 syn sync minlines=10 maxlines=100
133 " Define the default highlighting.
134 " For version 5.x and earlier, only when not done already.
135 " For version 5.8 and later, only when and item doesn't have highlighting yet.
136 if version >= 508 || !exists("did_stp_syn_inits")
138 let did_stp_syn_inits = 1
139 command -nargs=+ HiLink hi link <args>
141 command -nargs=+ HiLink hi def link <args>
144 HiLink stpConditional Conditional
145 HiLink stpComment Comment
146 HiLink stpKeyword Keyword
147 HiLink stpNumber Number
148 HiLink stpOperator Operator
149 HiLink stpSpecial Special
150 HiLink stpStatement Statement
151 HiLink stpString String
152 HiLink stpStringError Error
155 HiLink stpFunction Function
156 HiLink stpGlobals Macro
157 HiLink stpParen Normal
158 HiLink stpParenError Error
159 HiLink stpSQLKeyword Function
160 HiLink stpRepeat Repeat
165 let b:current_syntax = "stp"