diff runtime/syntax/jsp.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children c16898406ff2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/syntax/jsp.vim	Sat Nov 10 15:07:22 2007 +0900
@@ -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