xref: /vim-8.2.3635/runtime/syntax/jsp.vim (revision f37506f6)
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