mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:     PPWizard (preprocessor by Dennis Bareis)
 | |
| " Maintainer:   Stefan Schwarzer <s.schwarzer@ndh.net>
 | |
| " URL:			http://www.ndh.net/home/sschwarzer/download/ppwiz.vim
 | |
| " Last Change:  2003 May 11
 | |
| " Filename:     ppwiz.vim
 | |
| 
 | |
| " Remove old syntax stuff
 | |
| " 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
 | |
| 
 | |
| syn case ignore
 | |
| 
 | |
| if !exists("ppwiz_highlight_defs")
 | |
|     let ppwiz_highlight_defs = 1
 | |
| endif
 | |
| 
 | |
| if !exists("ppwiz_with_html")
 | |
|     let ppwiz_with_html = 1
 | |
| endif
 | |
| 
 | |
| " comments
 | |
| syn match   ppwizComment  "^;.*$"
 | |
| syn match   ppwizComment  ";;.*$"
 | |
| " HTML
 | |
| if ppwiz_with_html > 0
 | |
|     syn region ppwizHTML  start="<" end=">" contains=ppwizArg,ppwizMacro
 | |
|     syn match  ppwizHTML  "\&\w\+;"
 | |
| endif
 | |
| " define, evaluate etc.
 | |
| if ppwiz_highlight_defs == 1
 | |
|     syn match  ppwizDef   "^\s*\#\S\+\s\+\S\+" contains=ALL
 | |
|     syn match  ppwizDef   "^\s*\#\(if\|else\|endif\)" contains=ALL
 | |
|     syn match  ppwizDef   "^\s*\#\({\|break\|continue\|}\)" contains=ALL
 | |
| " elseif ppwiz_highlight_defs == 2
 | |
| "     syn region ppwizDef   start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ALL
 | |
| else
 | |
|     syn region ppwizDef   start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ppwizCont
 | |
| endif
 | |
| syn match   ppwizError    "\s.\\$"
 | |
| syn match   ppwizCont     "\s\([+\-%]\|\)\\$"
 | |
| " macros to execute
 | |
| syn region  ppwizMacro    start="<\$" end=">" contains=@ppwizArgVal,ppwizCont
 | |
| " macro arguments
 | |
| syn region  ppwizArg      start="{" end="}" contains=ppwizEqual,ppwizString
 | |
| syn match   ppwizEqual    "=" contained
 | |
| syn match   ppwizOperator "<>\|=\|<\|>" contained
 | |
| " standard variables (builtin)
 | |
| syn region  ppwizStdVar   start="<?[^?]" end=">" contains=@ppwizArgVal
 | |
| " Rexx variables
 | |
| syn region  ppwizRexxVar  start="<??" end=">" contains=@ppwizArgVal
 | |
| " Constants
 | |
| syn region  ppwizString   start=+"+ end=+"+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar
 | |
| syn region  ppwizString   start=+'+ end=+'+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar
 | |
| syn match   ppwizInteger  "\d\+" contained
 | |
| 
 | |
| " Clusters
 | |
| syn cluster ppwizArgVal add=ppwizString,ppwizInteger
 | |
| 
 | |
| " 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_ppwiz_syn_inits")
 | |
|     if version < 508
 | |
| 		let did_ppwiz_syn_inits = 1
 | |
| 		command -nargs=+ HiLink hi link <args>
 | |
| 	else
 | |
| 		command -nargs=+ HiLink hi def link <args>
 | |
|     endif
 | |
| 
 | |
|     HiLink ppwizSpecial  Special
 | |
|     HiLink ppwizEqual    ppwizSpecial
 | |
|     HiLink ppwizOperator ppwizSpecial
 | |
|     HiLink ppwizComment  Comment
 | |
|     HiLink ppwizDef      PreProc
 | |
|     HiLink ppwizMacro    Statement
 | |
|     HiLink ppwizArg      Identifier
 | |
|     HiLink ppwizStdVar   Identifier
 | |
|     HiLink ppwizRexxVar  Identifier
 | |
|     HiLink ppwizString   Constant
 | |
|     HiLink ppwizInteger  Constant
 | |
|     HiLink ppwizCont     ppwizSpecial
 | |
|     HiLink ppwizError    Error
 | |
|     HiLink ppwizHTML     Type
 | |
| 
 | |
|     delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "ppwiz"
 | |
| 
 | |
| " vim: ts=4
 | |
| 
 |