| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:	bc - An arbitrary precision calculator language | 
					
						
							|  |  |  | " Maintainer:	Vladimir Scholtz <vlado@gjh.sk> | 
					
						
							| 
									
										
										
										
											2012-06-01 22:38:45 +02:00
										 |  |  | " Last change:	2012 Jun 01 | 
					
						
							|  |  |  | " 		(Dominique Pelle added @Spell) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Available on:	www.gjh.sk/~vlado/bc.vim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   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 | 
					
						
							| 
									
										
										
										
											2012-06-01 22:38:45 +02:00
										 |  |  |  syn match bcString		"\"[^"]*\"" contains=@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Number | 
					
						
							|  |  |  | syn match bcNumber		"[0-9]\+" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Comment | 
					
						
							| 
									
										
										
										
											2012-06-01 22:38:45 +02:00
										 |  |  | syn match bcComment		"\#.*" contains=@Spell | 
					
						
							|  |  |  | syn region bcComment		start="/\*" end="\*/" contains=@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting yet | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | hi def link bcKeyword		Statement | 
					
						
							|  |  |  | hi def link bcType		Type | 
					
						
							|  |  |  | hi def link bcConstant		Constant | 
					
						
							|  |  |  | hi def link bcNumber		Number | 
					
						
							|  |  |  | hi def link bcComment		Comment | 
					
						
							|  |  |  | hi def link bcString		String | 
					
						
							|  |  |  | hi def link bcSpecialChar		SpecialChar | 
					
						
							|  |  |  | hi def link bcParenError		Error | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "bc" | 
					
						
							|  |  |  | " vim: ts=8 |