1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: JSP (Java Server Pages) 3071d4279SBram Moolenaar" Maintainer: Rafael Garcia-Suarez <[email protected]> 4071d4279SBram Moolenaar" URL: http://rgarciasuarez.free.fr/vim/syntax/jsp.vim 5071d4279SBram Moolenaar" Last change: 2004 Feb 02 6071d4279SBram Moolenaar" Credits : Patch by Darren Greaves (recognizes <jsp:...> tags) 7071d4279SBram Moolenaar" Patch by Thomas Kimpton (recognizes jspExpr inside HTML tags) 8071d4279SBram Moolenaar 989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1089bcfda6SBram Moolenaarif exists("b:current_syntax") 11071d4279SBram Moolenaar finish 12071d4279SBram Moolenaarendif 13071d4279SBram Moolenaar 14071d4279SBram Moolenaarif !exists("main_syntax") 15071d4279SBram Moolenaar let main_syntax = 'jsp' 16071d4279SBram Moolenaarendif 17071d4279SBram Moolenaar 18071d4279SBram Moolenaar" Source HTML syntax 19071d4279SBram Moolenaarruntime! syntax/html.vim 20071d4279SBram Moolenaarunlet b:current_syntax 21071d4279SBram Moolenaar 22071d4279SBram Moolenaar" Next syntax items are case-sensitive 23071d4279SBram Moolenaarsyn case match 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" Include Java syntax 26311dc17dSBram Moolenaarsyn include @jspJava syntax/java.vim 27071d4279SBram Moolenaar 28071d4279SBram Moolenaarsyn region jspScriptlet matchgroup=jspTag start=/<%/ keepend end=/%>/ contains=@jspJava 29071d4279SBram Moolenaarsyn region jspComment start=/<%--/ end=/--%>/ 30071d4279SBram Moolenaarsyn region jspDecl matchgroup=jspTag start=/<%!/ keepend end=/%>/ contains=@jspJava 31071d4279SBram Moolenaarsyn region jspExpr matchgroup=jspTag start=/<%=/ keepend end=/%>/ contains=@jspJava 32071d4279SBram Moolenaarsyn region jspDirective start=/<%@/ end=/%>/ contains=htmlString,jspDirName,jspDirArg 33071d4279SBram Moolenaar 34071d4279SBram Moolenaarsyn keyword jspDirName contained include page taglib 35071d4279SBram Moolenaarsyn keyword jspDirArg contained file uri prefix language extends import session buffer autoFlush 36071d4279SBram Moolenaarsyn keyword jspDirArg contained isThreadSafe info errorPage contentType isErrorPage 37071d4279SBram Moolenaarsyn region jspCommand start=/<jsp:/ start=/<\/jsp:/ keepend end=/>/ end=/\/>/ contains=htmlString,jspCommandName,jspCommandArg 38071d4279SBram Moolenaarsyn keyword jspCommandName contained include forward getProperty plugin setProperty useBean param params fallback 39071d4279SBram Moolenaarsyn keyword jspCommandArg contained id scope class type beanName page flush name value property 40071d4279SBram Moolenaarsyn keyword jspCommandArg contained code codebase name archive align height 41071d4279SBram Moolenaarsyn keyword jspCommandArg contained width hspace vspace jreversion nspluginurl iepluginurl 42071d4279SBram Moolenaar 43071d4279SBram Moolenaar" Redefine htmlTag so that it can contain jspExpr 44311dc17dSBram Moolenaarsyn clear htmlTag 45311dc17dSBram Moolenaarsyn region htmlTag start=+<[^/%]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,jspExpr,javaScript 46071d4279SBram Moolenaar 47071d4279SBram Moolenaar" Define the default highlighting. 4889bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 49071d4279SBram Moolenaar" java.vim has redefined htmlComment highlighting 50*f37506f6SBram Moolenaarhi def link htmlComment Comment 51*f37506f6SBram Moolenaarhi def link htmlCommentPart Comment 52071d4279SBram Moolenaar" Be consistent with html highlight settings 53*f37506f6SBram Moolenaarhi def link jspComment htmlComment 54*f37506f6SBram Moolenaarhi def link jspTag htmlTag 55*f37506f6SBram Moolenaarhi def link jspDirective jspTag 56*f37506f6SBram Moolenaarhi def link jspDirName htmlTagName 57*f37506f6SBram Moolenaarhi def link jspDirArg htmlArg 58*f37506f6SBram Moolenaarhi def link jspCommand jspTag 59*f37506f6SBram Moolenaarhi def link jspCommandName htmlTagName 60*f37506f6SBram Moolenaarhi def link jspCommandArg htmlArg 61071d4279SBram Moolenaar 62071d4279SBram Moolenaarif main_syntax == 'jsp' 63071d4279SBram Moolenaar unlet main_syntax 64071d4279SBram Moolenaarendif 65071d4279SBram Moolenaar 66071d4279SBram Moolenaarlet b:current_syntax = "jsp" 67071d4279SBram Moolenaar 68071d4279SBram Moolenaar" vim: ts=8 69