mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			173 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			173 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:     WML - Website MetaLanguage | ||
|  | " Maintainer:   Gerfried Fuchs <alfie@ist.org> | ||
|  | " Filenames:    *.wml | ||
|  | " Last Change:  07 Feb 2002 | ||
|  | " URL:		http://alfie.ist.org/software/vim/syntax/wml.vim | ||
|  | " | ||
|  | " Original Version: Craig Small <csmall@eye-net.com.au> | ||
|  | 
 | ||
|  | " Comments are very welcome - but please make sure that you are commenting on | ||
|  | " the latest version of this file. | ||
|  | " SPAM is _NOT_ welcome - be ready to be reported! | ||
|  | 
 | ||
|  | "  If you are looking for the "Wireless Markup Language" syntax file, | ||
|  | "  please take a look at the wap.vim file done by Ralf Schandl, soon in a | ||
|  | "  vim-package around your corner :) | ||
|  | 
 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syn clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | 
 | ||
|  | " A lot of the web stuff looks like HTML so we load that first | ||
|  | if version < 600 | ||
|  |   so <sfile>:p:h/html.vim | ||
|  | else | ||
|  |   runtime! syntax/html.vim | ||
|  | endif | ||
|  | unlet b:current_syntax | ||
|  | 
 | ||
|  | if !exists("main_syntax") | ||
|  |   let main_syntax = 'wml' | ||
|  | endif | ||
|  | 
 | ||
|  | " special character | ||
|  | syn match wmlNextLine	"\\$" | ||
|  | 
 | ||
|  | " Redfine htmlTag | ||
|  | syn clear htmlTag | ||
|  | syn region  htmlTag  start=+<[^/<]+ end=+>+  contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition | ||
|  | 
 | ||
|  | " | ||
|  | " Add in extra Arguments used by wml | ||
|  | syn keyword htmlTagName contained gfont imgbg imgdot lowsrc | ||
|  | syn keyword htmlTagName contained navbar:define navbar:header | ||
|  | syn keyword htmlTagName contained navbar:footer navbar:prolog | ||
|  | syn keyword htmlTagName contained navbar:epilog navbar:button | ||
|  | syn keyword htmlTagName contained navbar:filter navbar:debug | ||
|  | syn keyword htmlTagName contained navbar:render | ||
|  | syn keyword htmlTagName contained preload rollover | ||
|  | syn keyword htmlTagName contained space hspace vspace over | ||
|  | syn keyword htmlTagName contained ps ds pi ein big sc spaced headline | ||
|  | syn keyword htmlTagName contained ue subheadline zwue verbcode | ||
|  | syn keyword htmlTagName contained isolatin pod sdf text url verbatim | ||
|  | syn keyword htmlTagName contained xtable | ||
|  | syn keyword htmlTagName contained csmap fsview import box | ||
|  | syn keyword htmlTagName contained case:upper case:lower | ||
|  | syn keyword htmlTagName contained grid cell info lang: logo page | ||
|  | syn keyword htmlTagName contained set-var restore | ||
|  | syn keyword htmlTagName contained array:push array:show set-var ifdef | ||
|  | syn keyword htmlTagName contained say m4 symbol dump enter divert | ||
|  | syn keyword htmlTagName contained toc | ||
|  | syn keyword htmlTagName contained wml card do refresh oneevent catch spawn | ||
|  | 
 | ||
|  | " | ||
|  | " The wml arguments | ||
|  | syn keyword htmlArg contained adjust background base bdcolor bdspace | ||
|  | syn keyword htmlArg contained bdwidth complete copyright created crop | ||
|  | syn keyword htmlArg contained direction description domainname eperlfilter | ||
|  | syn keyword htmlArg contained file hint imgbase imgstar interchar interline | ||
|  | syn keyword htmlArg contained keephr keepindex keywords layout spacing | ||
|  | syn keyword htmlArg contained padding nonetscape noscale notag notypo | ||
|  | syn keyword htmlArg contained onload oversrc pos select slices style | ||
|  | syn keyword htmlArg contained subselected txtcol_select txtcol_normal | ||
|  | syn keyword htmlArg contained txtonly via | ||
|  | syn keyword htmlArg contained mode columns localsrc ordered | ||
|  | 
 | ||
|  | 
 | ||
|  | " Lines starting with an # are usually comments | ||
|  | syn match   wmlComment     "^\s*#.*" | ||
|  | " The different exceptions to comments | ||
|  | syn match   wmlSharpBang   "^#!.*" | ||
|  | syn match   wmlUsed	   contained "\s\s*[A-Za-z:_-]*" | ||
|  | syn match   wmlUse	   "^\s*#\s*use\s\+" contains=wmlUsed | ||
|  | syn match   wmlInclude	   "^\s*#\s*include.+" | ||
|  | 
 | ||
|  | syn region  wmlBody	   contained start=+<<+ end=+>>+ | ||
|  | 
 | ||
|  | syn match   wmlLocationId  contained "[A-Za-z]\+" | ||
|  | syn region  wmlLocation    start=+<<+ end=+>>+ contains=wmlLocationId | ||
|  | "syn region  wmlLocation    start=+{#+ end=+#}+ contains=wmlLocationId | ||
|  | "syn region  wmlLocationed  contained start=+<<+ end=+>>+ contains=wmlLocationId | ||
|  | 
 | ||
|  | syn match   wmlDivert      "\.\.[a-zA-Z_]\+>>" | ||
|  | syn match   wmlDivertEnd   "<<\.\." | ||
|  | " new version | ||
|  | "syn match   wmlDivert      "{#[a-zA-Z_]\+#:" | ||
|  | "syn match   wmlDivertEnd   ":##}" | ||
|  | 
 | ||
|  | syn match   wmlDefineName  contained "\s\+[A-Za-z-]\+" | ||
|  | syn region  htmlTagName    start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName | ||
|  | 
 | ||
|  | " The perl include stuff | ||
|  | if main_syntax != 'perl' | ||
|  |   " Perl script | ||
|  |   if version < 600 | ||
|  |     syn include @wmlPerlScript <sfile>:p:h/perl.vim | ||
|  |   else | ||
|  |     syn include @wmlPerlScript syntax/perl.vim | ||
|  |   endif | ||
|  |   unlet b:current_syntax | ||
|  | 
 | ||
|  |   syn region perlScript   start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag | ||
|  | " eperl between '<:' and ':>'  -- Alfie [1999-12-26] | ||
|  |   syn region perlScript   start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag | ||
|  |   syn match    wmlPerlTag  contained "</*perl>" contains=wmlPerlTagN | ||
|  |   syn keyword  wmlPerlTagN contained perl | ||
|  | 
 | ||
|  |   hi link   wmlPerlTag  htmlTag | ||
|  |   hi link   wmlPerlTagN htmlStatement | ||
|  | endif | ||
|  | 
 | ||
|  | " verbatim tags -- don't highlight anything in between  -- Alfie [2002-02-07] | ||
|  | syn region  wmlVerbatimText start=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag | ||
|  | syn match   wmlVerbatimTag  contained "</*verbatim>" contains=wmlVerbatimTagN | ||
|  | syn keyword wmlVerbatimTagN contained verbatim | ||
|  | hi link     wmlVerbatimTag  htmlTag | ||
|  | hi link     wmlVerbatimTagN htmlStatement | ||
|  | 
 | ||
|  | if main_syntax == "html" | ||
|  |   syn sync match wmlHighlight groupthere NONE "</a-zA-Z]" | ||
|  |   syn sync match wmlHighlight groupthere perlScript "<perl>" | ||
|  |   syn sync match wmlHighlightSkip "^.*['\"].*$" | ||
|  |   syn sync minlines=10 | ||
|  | endif | ||
|  | 
 | ||
|  | " 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_wml_syn_inits") | ||
|  |   let did_wml_syn_inits = 1 | ||
|  |   if version < 508 | ||
|  |     let did_wml_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink wmlNextLine	Special | ||
|  |   HiLink wmlUse		Include | ||
|  |   HiLink wmlUsed	String | ||
|  |   HiLink wmlBody	Special | ||
|  |   HiLink wmlDiverted	Label | ||
|  |   HiLink wmlDivert	Delimiter | ||
|  |   HiLink wmlDivertEnd	Delimiter | ||
|  |   HiLink wmlLocationId	Label | ||
|  |   HiLink wmlLocation	Delimiter | ||
|  | " HiLink wmlLocationed	Delimiter | ||
|  |   HiLink wmlDefineName	String | ||
|  |   HiLink wmlComment	Comment | ||
|  |   HiLink wmlInclude	Include | ||
|  |   HiLink wmlSharpBang	PreProc | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "wml" |