mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			102 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			102 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	FORM | ||
|  | " Maintainer:	Michael M. Tung <michael.tung@uni-mainz.de> | ||
|  | " Last Change:	2001 May 10 | ||
|  | 
 | ||
|  | " First public release based on 'Symbolic Manipulation with FORM' | ||
|  | " by J.A.M. Vermaseren, CAN, Netherlands, 1991. | ||
|  | " This syntax file is still in development. Please send suggestions | ||
|  | " to the maintainer. | ||
|  | 
 | ||
|  | " 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 | ||
|  | 
 | ||
|  | " A bunch of useful FORM keywords | ||
|  | syn keyword formType		global local | ||
|  | syn keyword formHeaderStatement	symbol symbols cfunction cfunctions | ||
|  | syn keyword formHeaderStatement	function functions vector vectors | ||
|  | syn keyword formHeaderStatement	set sets index indices | ||
|  | syn keyword formHeaderStatement	dimension dimensions unittrace | ||
|  | syn keyword formStatement	id identify drop skip | ||
|  | syn keyword formStatement	write nwrite | ||
|  | syn keyword formStatement	format print nprint load save | ||
|  | syn keyword formStatement	bracket brackets | ||
|  | syn keyword formStatement	multiply count match only discard | ||
|  | syn keyword formStatement	trace4 traceN contract symmetrize antisymmetrize | ||
|  | syn keyword formConditional	if else endif while | ||
|  | syn keyword formConditional	repeat endrepeat label goto | ||
|  | 
 | ||
|  | " some special functions | ||
|  | syn keyword formStatement	g_ gi_ g5_ g6_ g7_ 5_ 6_ 7_ | ||
|  | syn keyword formStatement	e_ d_ delta_ theta_ sum_ sump_ | ||
|  | 
 | ||
|  | " pattern matching for keywords | ||
|  | syn match   formComment		"^\ *\*.*$" | ||
|  | syn match   formComment		"\;\ *\*.*$" | ||
|  | syn region  formString		start=+"+  end=+"+ | ||
|  | syn region  formString		start=+'+  end=+'+ | ||
|  | syn match   formPreProc		"^\=\#[a-zA-z][a-zA-Z0-9]*\>" | ||
|  | syn match   formNumber		"\<\d\+\>" | ||
|  | syn match   formNumber		"\<\d\+\.\d*\>" | ||
|  | syn match   formNumber		"\.\d\+\>" | ||
|  | syn match   formNumber		"-\d" contains=Number | ||
|  | syn match   formNumber		"-\.\d" contains=Number | ||
|  | syn match   formNumber		"i_\+\>" | ||
|  | syn match   formNumber		"fac_\+\>" | ||
|  | syn match   formDirective	"^\=\.[a-zA-z][a-zA-Z0-9]*\>" | ||
|  | 
 | ||
|  | " hi User Labels | ||
|  | syn sync ccomment formComment minlines=10 | ||
|  | 
 | ||
|  | " 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_form_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_form_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink formConditional	Conditional | ||
|  |   HiLink formNumber		Number | ||
|  |   HiLink formStatement		Statement | ||
|  |   HiLink formComment		Comment | ||
|  |   HiLink formPreProc		PreProc | ||
|  |   HiLink formDirective		PreProc | ||
|  |   HiLink formType		Type | ||
|  |   HiLink formString		String | ||
|  | 
 | ||
|  |   if !exists("form_enhanced_color") | ||
|  |     HiLink formHeaderStatement	Statement | ||
|  |   else | ||
|  |   " enhanced color mode | ||
|  |     HiLink formHeaderStatement	HeaderStatement | ||
|  |     " dark and a light background for local types | ||
|  |     if &background == "dark" | ||
|  |       hi HeaderStatement term=underline ctermfg=LightGreen guifg=LightGreen gui=bold | ||
|  |     else | ||
|  |       hi HeaderStatement term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold | ||
|  |     endif | ||
|  |     " change slightly the default for dark gvim | ||
|  |     if has("gui_running") && &background == "dark" | ||
|  |       hi Conditional guifg=LightBlue gui=bold | ||
|  |       hi Statement guifg=LightYellow | ||
|  |     endif | ||
|  |   endif | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  |   let b:current_syntax = "form" | ||
|  | 
 | ||
|  | " vim: ts=8 |