diff options
Diffstat (limited to 'runtime/syntax/jsp.vim')
-rw-r--r-- | runtime/syntax/jsp.vim | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/runtime/syntax/jsp.vim b/runtime/syntax/jsp.vim new file mode 100644 index 000000000..523c8e31e --- /dev/null +++ b/runtime/syntax/jsp.vim @@ -0,0 +1,84 @@ +" Vim syntax file +" Language: JSP (Java Server Pages) +" Maintainer: Rafael Garcia-Suarez <rgarciasuarez@free.fr> +" URL: http://rgarciasuarez.free.fr/vim/syntax/jsp.vim +" Last change: 2004 Feb 02 +" Credits : Patch by Darren Greaves (recognizes <jsp:...> tags) +" Patch by Thomas Kimpton (recognizes jspExpr inside HTML tags) + +" 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 + +if !exists("main_syntax") + let main_syntax = 'jsp' +endif + +" Source HTML syntax +if version < 600 + source <sfile>:p:h/html.vim +else + runtime! syntax/html.vim +endif +unlet b:current_syntax + +" Next syntax items are case-sensitive +syn case match + +" Include Java syntax +syn include @jspJava <sfile>:p:h/java.vim + +syn region jspScriptlet matchgroup=jspTag start=/<%/ keepend end=/%>/ contains=@jspJava +syn region jspComment start=/<%--/ end=/--%>/ +syn region jspDecl matchgroup=jspTag start=/<%!/ keepend end=/%>/ contains=@jspJava +syn region jspExpr matchgroup=jspTag start=/<%=/ keepend end=/%>/ contains=@jspJava +syn region jspDirective start=/<%@/ end=/%>/ contains=htmlString,jspDirName,jspDirArg + +syn keyword jspDirName contained include page taglib +syn keyword jspDirArg contained file uri prefix language extends import session buffer autoFlush +syn keyword jspDirArg contained isThreadSafe info errorPage contentType isErrorPage +syn region jspCommand start=/<jsp:/ start=/<\/jsp:/ keepend end=/>/ end=/\/>/ contains=htmlString,jspCommandName,jspCommandArg +syn keyword jspCommandName contained include forward getProperty plugin setProperty useBean param params fallback +syn keyword jspCommandArg contained id scope class type beanName page flush name value property +syn keyword jspCommandArg contained code codebase name archive align height +syn keyword jspCommandArg contained width hspace vspace jreversion nspluginurl iepluginurl + +" Redefine htmlTag so that it can contain jspExpr +syn region htmlTag start=+<[^/%]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,jspExpr + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_jsp_syn_inits") + if version < 508 + let did_jsp_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + " java.vim has redefined htmlComment highlighting + HiLink htmlComment Comment + HiLink htmlCommentPart Comment + " Be consistent with html highlight settings + HiLink jspComment htmlComment + HiLink jspTag htmlTag + HiLink jspDirective jspTag + HiLink jspDirName htmlTagName + HiLink jspDirArg htmlArg + HiLink jspCommand jspTag + HiLink jspCommandName htmlTagName + HiLink jspCommandArg htmlArg + delcommand HiLink +endif + +if main_syntax == 'jsp' + unlet main_syntax +endif + +let b:current_syntax = "jsp" + +" vim: ts=8 |