summaryrefslogtreecommitdiff
path: root/runtime/syntax/stp.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/stp.vim')
-rw-r--r--runtime/syntax/stp.vim167
1 files changed, 167 insertions, 0 deletions
diff --git a/runtime/syntax/stp.vim b/runtime/syntax/stp.vim
new file mode 100644
index 000000000..f4f0f3b61
--- /dev/null
+++ b/runtime/syntax/stp.vim
@@ -0,0 +1,167 @@
+" Vim syntax file
+" Language: Stored Procedures (STP)
+" Maintainer: Jeff Lanzarotta (jefflanzarotta@yahoo.com)
+" URL: http://lanzarotta.tripod.com/vim/syntax/stp.vim.zip
+" Last Change: March 05, 2002
+
+" 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
+
+" Specials.
+syn keyword stpSpecial null
+
+" Keywords.
+syn keyword stpKeyword begin break call case create deallocate dynamic
+syn keyword stpKeyword execute from function go grant
+syn keyword stpKeyword index insert into leave max min on output procedure
+syn keyword stpKeyword public result return returns scroll table to
+syn keyword stpKeyword when
+syn match stpKeyword "\<end\>"
+
+" Conditional.
+syn keyword stpConditional if else elseif then
+syn match stpConditional "\<end\s\+if\>"
+
+" Repeats.
+syn keyword stpRepeat for while loop
+syn match stpRepeat "\<end\s\+loop\>"
+
+" Operators.
+syn keyword stpOperator asc not and or desc group having in is any some all
+syn keyword stpOperator between exists like escape with union intersect minus
+syn keyword stpOperator out prior distinct sysdate
+
+" Statements.
+syn keyword stpStatement alter analyze as audit avg by close clustered comment
+syn keyword stpStatement commit continue count create cursor declare delete
+syn keyword stpStatement drop exec execute explain fetch from index insert
+syn keyword stpStatement into lock max min next noaudit nonclustered open
+syn keyword stpStatement order output print raiserror recompile rename revoke
+syn keyword stpStatement rollback savepoint select set sum transaction
+syn keyword stpStatement truncate unique update values where
+
+" Functions.
+syn keyword stpFunction abs acos ascii asin atan atn2 avg ceiling charindex
+syn keyword stpFunction charlength convert col_name col_length cos cot count
+syn keyword stpFunction curunreservedpgs datapgs datalength dateadd datediff
+syn keyword stpFunction datename datepart db_id db_name degree difference
+syn keyword stpFunction exp floor getdate hextoint host_id host_name index_col
+syn keyword stpFunction inttohex isnull lct_admin log log10 lower ltrim max
+syn keyword stpFunction min now object_id object_name patindex pi pos power
+syn keyword stpFunction proc_role radians rand replace replicate reserved_pgs
+syn keyword stpFunction reverse right rtrim rowcnt round show_role sign sin
+syn keyword stpFunction soundex space sqrt str stuff substr substring sum
+syn keyword stpFunction suser_id suser_name tan tsequal upper used_pgs user
+syn keyword stpFunction user_id user_name valid_name valid_user message
+
+" Types.
+syn keyword stpType binary bit char datetime decimal double float image
+syn keyword stpType int integer long money nchar numeric precision real
+syn keyword stpType smalldatetime smallint smallmoney text time tinyint
+syn keyword stpType timestamp varbinary varchar
+
+" Globals.
+syn match stpGlobals '@@char_convert'
+syn match stpGlobals '@@cient_csname'
+syn match stpGlobals '@@client_csid'
+syn match stpGlobals '@@connections'
+syn match stpGlobals '@@cpu_busy'
+syn match stpGlobals '@@error'
+syn match stpGlobals '@@identity'
+syn match stpGlobals '@@idle'
+syn match stpGlobals '@@io_busy'
+syn match stpGlobals '@@isolation'
+syn match stpGlobals '@@langid'
+syn match stpGlobals '@@language'
+syn match stpGlobals '@@max_connections'
+syn match stpGlobals '@@maxcharlen'
+syn match stpGlobals '@@ncharsize'
+syn match stpGlobals '@@nestlevel'
+syn match stpGlobals '@@pack_received'
+syn match stpGlobals '@@pack_sent'
+syn match stpGlobals '@@packet_errors'
+syn match stpGlobals '@@procid'
+syn match stpGlobals '@@rowcount'
+syn match stpGlobals '@@servername'
+syn match stpGlobals '@@spid'
+syn match stpGlobals '@@sqlstatus'
+syn match stpGlobals '@@testts'
+syn match stpGlobals '@@textcolid'
+syn match stpGlobals '@@textdbid'
+syn match stpGlobals '@@textobjid'
+syn match stpGlobals '@@textptr'
+syn match stpGlobals '@@textsize'
+syn match stpGlobals '@@thresh_hysteresis'
+syn match stpGlobals '@@timeticks'
+syn match stpGlobals '@@total_error'
+syn match stpGlobals '@@total_read'
+syn match stpGlobals '@@total_write'
+syn match stpGlobals '@@tranchained'
+syn match stpGlobals '@@trancount'
+syn match stpGlobals '@@transtate'
+syn match stpGlobals '@@version'
+
+" Todos.
+syn keyword stpTodo TODO FIXME XXX DEBUG NOTE
+
+" Strings and characters.
+syn match stpStringError "'.*$"
+syn match stpString "'\([^']\|''\)*'"
+
+" Numbers.
+syn match stpNumber "-\=\<\d*\.\=[0-9_]\>"
+
+" Comments.
+syn region stpComment start="/\*" end="\*/" contains=stpTodo
+syn match stpComment "--.*" contains=stpTodo
+syn sync ccomment stpComment
+
+" Parens.
+syn region stpParen transparent start='(' end=')' contains=ALLBUT,stpParenError
+syn match stpParenError ")"
+
+" Syntax Synchronizing.
+syn sync minlines=10 maxlines=100
+
+" Define the default highlighting.
+" For version 5.x and earlier, only when not done already.
+" For version 5.8 and later, only when and item doesn't have highlighting yet.
+if version >= 508 || !exists("did_stp_syn_inits")
+ if version < 508
+ let did_stp_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink stpConditional Conditional
+ HiLink stpComment Comment
+ HiLink stpKeyword Keyword
+ HiLink stpNumber Number
+ HiLink stpOperator Operator
+ HiLink stpSpecial Special
+ HiLink stpStatement Statement
+ HiLink stpString String
+ HiLink stpStringError Error
+ HiLink stpType Type
+ HiLink stpTodo Todo
+ HiLink stpFunction Function
+ HiLink stpGlobals Macro
+ HiLink stpParen Normal
+ HiLink stpParenError Error
+ HiLink stpSQLKeyword Function
+ HiLink stpRepeat Repeat
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "stp"
+
+" vim ts=8 sw=2