summaryrefslogtreecommitdiff
path: root/runtime/syntax/jsp.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/jsp.vim')
-rw-r--r--runtime/syntax/jsp.vim84
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