mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " 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
 |