1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Stored Procedures (STP) 3071d4279SBram Moolenaar" Maintainer: Jeff Lanzarotta ([email protected]) 4071d4279SBram Moolenaar" URL: http://lanzarotta.tripod.com/vim/syntax/stp.vim.zip 5071d4279SBram Moolenaar" Last Change: March 05, 2002 6071d4279SBram Moolenaar 789bcfda6SBram Moolenaar" quit when a syntax file was already loaded 889bcfda6SBram Moolenaarif exists("b:current_syntax") 9071d4279SBram Moolenaar finish 10071d4279SBram Moolenaarendif 11071d4279SBram Moolenaar 12071d4279SBram Moolenaarsyn case ignore 13071d4279SBram Moolenaar 14071d4279SBram Moolenaar" Specials. 15071d4279SBram Moolenaarsyn keyword stpSpecial null 16071d4279SBram Moolenaar 17071d4279SBram Moolenaar" Keywords. 18071d4279SBram Moolenaarsyn keyword stpKeyword begin break call case create deallocate dynamic 19071d4279SBram Moolenaarsyn keyword stpKeyword execute from function go grant 20071d4279SBram Moolenaarsyn keyword stpKeyword index insert into leave max min on output procedure 21071d4279SBram Moolenaarsyn keyword stpKeyword public result return returns scroll table to 22071d4279SBram Moolenaarsyn keyword stpKeyword when 23071d4279SBram Moolenaarsyn match stpKeyword "\<end\>" 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" Conditional. 26071d4279SBram Moolenaarsyn keyword stpConditional if else elseif then 27071d4279SBram Moolenaarsyn match stpConditional "\<end\s\+if\>" 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" Repeats. 30071d4279SBram Moolenaarsyn keyword stpRepeat for while loop 31071d4279SBram Moolenaarsyn match stpRepeat "\<end\s\+loop\>" 32071d4279SBram Moolenaar 33071d4279SBram Moolenaar" Operators. 34071d4279SBram Moolenaarsyn keyword stpOperator asc not and or desc group having in is any some all 35071d4279SBram Moolenaarsyn keyword stpOperator between exists like escape with union intersect minus 36071d4279SBram Moolenaarsyn keyword stpOperator out prior distinct sysdate 37071d4279SBram Moolenaar 38071d4279SBram Moolenaar" Statements. 39071d4279SBram Moolenaarsyn keyword stpStatement alter analyze as audit avg by close clustered comment 40071d4279SBram Moolenaarsyn keyword stpStatement commit continue count create cursor declare delete 41071d4279SBram Moolenaarsyn keyword stpStatement drop exec execute explain fetch from index insert 42071d4279SBram Moolenaarsyn keyword stpStatement into lock max min next noaudit nonclustered open 43071d4279SBram Moolenaarsyn keyword stpStatement order output print raiserror recompile rename revoke 44071d4279SBram Moolenaarsyn keyword stpStatement rollback savepoint select set sum transaction 45071d4279SBram Moolenaarsyn keyword stpStatement truncate unique update values where 46071d4279SBram Moolenaar 47071d4279SBram Moolenaar" Functions. 48071d4279SBram Moolenaarsyn keyword stpFunction abs acos ascii asin atan atn2 avg ceiling charindex 49071d4279SBram Moolenaarsyn keyword stpFunction charlength convert col_name col_length cos cot count 50071d4279SBram Moolenaarsyn keyword stpFunction curunreservedpgs datapgs datalength dateadd datediff 51071d4279SBram Moolenaarsyn keyword stpFunction datename datepart db_id db_name degree difference 52071d4279SBram Moolenaarsyn keyword stpFunction exp floor getdate hextoint host_id host_name index_col 53071d4279SBram Moolenaarsyn keyword stpFunction inttohex isnull lct_admin log log10 lower ltrim max 54071d4279SBram Moolenaarsyn keyword stpFunction min now object_id object_name patindex pi pos power 55071d4279SBram Moolenaarsyn keyword stpFunction proc_role radians rand replace replicate reserved_pgs 56071d4279SBram Moolenaarsyn keyword stpFunction reverse right rtrim rowcnt round show_role sign sin 57071d4279SBram Moolenaarsyn keyword stpFunction soundex space sqrt str stuff substr substring sum 58071d4279SBram Moolenaarsyn keyword stpFunction suser_id suser_name tan tsequal upper used_pgs user 59071d4279SBram Moolenaarsyn keyword stpFunction user_id user_name valid_name valid_user message 60071d4279SBram Moolenaar 61071d4279SBram Moolenaar" Types. 62071d4279SBram Moolenaarsyn keyword stpType binary bit char datetime decimal double float image 63071d4279SBram Moolenaarsyn keyword stpType int integer long money nchar numeric precision real 64071d4279SBram Moolenaarsyn keyword stpType smalldatetime smallint smallmoney text time tinyint 65071d4279SBram Moolenaarsyn keyword stpType timestamp varbinary varchar 66071d4279SBram Moolenaar 67071d4279SBram Moolenaar" Globals. 68071d4279SBram Moolenaarsyn match stpGlobals '@@char_convert' 69071d4279SBram Moolenaarsyn match stpGlobals '@@cient_csname' 70071d4279SBram Moolenaarsyn match stpGlobals '@@client_csid' 71071d4279SBram Moolenaarsyn match stpGlobals '@@connections' 72071d4279SBram Moolenaarsyn match stpGlobals '@@cpu_busy' 73071d4279SBram Moolenaarsyn match stpGlobals '@@error' 74071d4279SBram Moolenaarsyn match stpGlobals '@@identity' 75071d4279SBram Moolenaarsyn match stpGlobals '@@idle' 76071d4279SBram Moolenaarsyn match stpGlobals '@@io_busy' 77071d4279SBram Moolenaarsyn match stpGlobals '@@isolation' 78071d4279SBram Moolenaarsyn match stpGlobals '@@langid' 79071d4279SBram Moolenaarsyn match stpGlobals '@@language' 80071d4279SBram Moolenaarsyn match stpGlobals '@@max_connections' 81071d4279SBram Moolenaarsyn match stpGlobals '@@maxcharlen' 82071d4279SBram Moolenaarsyn match stpGlobals '@@ncharsize' 83071d4279SBram Moolenaarsyn match stpGlobals '@@nestlevel' 84071d4279SBram Moolenaarsyn match stpGlobals '@@pack_received' 85071d4279SBram Moolenaarsyn match stpGlobals '@@pack_sent' 86071d4279SBram Moolenaarsyn match stpGlobals '@@packet_errors' 87071d4279SBram Moolenaarsyn match stpGlobals '@@procid' 88071d4279SBram Moolenaarsyn match stpGlobals '@@rowcount' 89071d4279SBram Moolenaarsyn match stpGlobals '@@servername' 90071d4279SBram Moolenaarsyn match stpGlobals '@@spid' 91071d4279SBram Moolenaarsyn match stpGlobals '@@sqlstatus' 92071d4279SBram Moolenaarsyn match stpGlobals '@@testts' 93071d4279SBram Moolenaarsyn match stpGlobals '@@textcolid' 94071d4279SBram Moolenaarsyn match stpGlobals '@@textdbid' 95071d4279SBram Moolenaarsyn match stpGlobals '@@textobjid' 96071d4279SBram Moolenaarsyn match stpGlobals '@@textptr' 97071d4279SBram Moolenaarsyn match stpGlobals '@@textsize' 98071d4279SBram Moolenaarsyn match stpGlobals '@@thresh_hysteresis' 99071d4279SBram Moolenaarsyn match stpGlobals '@@timeticks' 100071d4279SBram Moolenaarsyn match stpGlobals '@@total_error' 101071d4279SBram Moolenaarsyn match stpGlobals '@@total_read' 102071d4279SBram Moolenaarsyn match stpGlobals '@@total_write' 103071d4279SBram Moolenaarsyn match stpGlobals '@@tranchained' 104071d4279SBram Moolenaarsyn match stpGlobals '@@trancount' 105071d4279SBram Moolenaarsyn match stpGlobals '@@transtate' 106071d4279SBram Moolenaarsyn match stpGlobals '@@version' 107071d4279SBram Moolenaar 108071d4279SBram Moolenaar" Todos. 109071d4279SBram Moolenaarsyn keyword stpTodo TODO FIXME XXX DEBUG NOTE 110071d4279SBram Moolenaar 111071d4279SBram Moolenaar" Strings and characters. 112071d4279SBram Moolenaarsyn match stpStringError "'.*$" 113071d4279SBram Moolenaarsyn match stpString "'\([^']\|''\)*'" 114071d4279SBram Moolenaar 115071d4279SBram Moolenaar" Numbers. 116071d4279SBram Moolenaarsyn match stpNumber "-\=\<\d*\.\=[0-9_]\>" 117071d4279SBram Moolenaar 118071d4279SBram Moolenaar" Comments. 119071d4279SBram Moolenaarsyn region stpComment start="/\*" end="\*/" contains=stpTodo 120071d4279SBram Moolenaarsyn match stpComment "--.*" contains=stpTodo 121071d4279SBram Moolenaarsyn sync ccomment stpComment 122071d4279SBram Moolenaar 123071d4279SBram Moolenaar" Parens. 124071d4279SBram Moolenaarsyn region stpParen transparent start='(' end=')' contains=ALLBUT,stpParenError 125071d4279SBram Moolenaarsyn match stpParenError ")" 126071d4279SBram Moolenaar 127071d4279SBram Moolenaar" Syntax Synchronizing. 128071d4279SBram Moolenaarsyn sync minlines=10 maxlines=100 129071d4279SBram Moolenaar 130071d4279SBram Moolenaar" Define the default highlighting. 13189bcfda6SBram Moolenaar" Only when and item doesn't have highlighting yet. 132071d4279SBram Moolenaar 133*f37506f6SBram Moolenaarhi def link stpConditional Conditional 134*f37506f6SBram Moolenaarhi def link stpComment Comment 135*f37506f6SBram Moolenaarhi def link stpKeyword Keyword 136*f37506f6SBram Moolenaarhi def link stpNumber Number 137*f37506f6SBram Moolenaarhi def link stpOperator Operator 138*f37506f6SBram Moolenaarhi def link stpSpecial Special 139*f37506f6SBram Moolenaarhi def link stpStatement Statement 140*f37506f6SBram Moolenaarhi def link stpString String 141*f37506f6SBram Moolenaarhi def link stpStringError Error 142*f37506f6SBram Moolenaarhi def link stpType Type 143*f37506f6SBram Moolenaarhi def link stpTodo Todo 144*f37506f6SBram Moolenaarhi def link stpFunction Function 145*f37506f6SBram Moolenaarhi def link stpGlobals Macro 146*f37506f6SBram Moolenaarhi def link stpParen Normal 147*f37506f6SBram Moolenaarhi def link stpParenError Error 148*f37506f6SBram Moolenaarhi def link stpSQLKeyword Function 149*f37506f6SBram Moolenaarhi def link stpRepeat Repeat 150071d4279SBram Moolenaar 151071d4279SBram Moolenaar 152071d4279SBram Moolenaarlet b:current_syntax = "stp" 153071d4279SBram Moolenaar 154071d4279SBram Moolenaar" vim ts=8 sw=2 155