forked from aniani/vim
		
	
		
			
	
	
		
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	bc - An arbitrary precision calculator language | ||
|  | " Maintainer:	Vladimir Scholtz <vlado@gjh.sk> | ||
|  | " Last change:	2001 Sep 02 | ||
|  | " Available on:	www.gjh.sk/~vlado/bc.vim | ||
|  | 
 | ||
|  | " 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 | ||
|  | 
 | ||
|  | " Keywords | ||
|  | syn keyword bcKeyword if else while for break continue return limits halt quit | ||
|  | syn keyword bcKeyword define | ||
|  | syn keyword bcKeyword length read sqrt print | ||
|  | 
 | ||
|  | " Variable | ||
|  | syn keyword bcType auto | ||
|  | 
 | ||
|  | " Constant | ||
|  | syn keyword bcConstant scale ibase obase last | ||
|  | syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX | ||
|  | syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH | ||
|  | 
 | ||
|  | " Any other stuff | ||
|  | syn match bcIdentifier		"[a-z_][a-z0-9_]*" | ||
|  | 
 | ||
|  | " String | ||
|  |  syn match bcString		"\"[^"]*\"" | ||
|  | 
 | ||
|  | " Number | ||
|  | syn match bcNumber		"[0-9]\+" | ||
|  | 
 | ||
|  | " Comment | ||
|  | syn match bcComment		"\#.*" | ||
|  | syn region bcComment		start="/\*" end="\*/" | ||
|  | 
 | ||
|  | " Parent () | ||
|  | syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError | ||
|  | syn region bcList		matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll | ||
|  | syn region bcList		matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll | ||
|  | syn match bcParenError			"]" | ||
|  | syn match bcParenError			")" | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | syn case match | ||
|  | 
 | ||
|  | " 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_bc_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_bc_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink bcKeyword		Statement | ||
|  |   HiLink bcType		Type | ||
|  |   HiLink bcConstant		Constant | ||
|  |   HiLink bcNumber		Number | ||
|  |   HiLink bcComment		Comment | ||
|  |   HiLink bcString		String | ||
|  |   HiLink bcSpecialChar		SpecialChar | ||
|  |   HiLink bcParenError		Error | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "bc" | ||
|  | " vim: ts=8 |