| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Copyright by Jan-Oliver Wagner | 
					
						
							|  |  |  | " Language:	avenue | 
					
						
							|  |  |  | " Maintainer:	Jan-Oliver Wagner <Jan-Oliver.Wagner@intevation.de> | 
					
						
							|  |  |  | " Last change:	2001 May 10 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Avenue is the ArcView built-in language. ArcView is | 
					
						
							|  |  |  | " a desktop GIS by ESRI. Though it is a built-in language | 
					
						
							|  |  |  | " and a built-in editor is provided, the use of VIM increases | 
					
						
							|  |  |  | " development speed. | 
					
						
							|  |  |  | " I use some technologies to automatically load avenue scripts | 
					
						
							|  |  |  | " into ArcView. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Avenue is entirely case-insensitive. | 
					
						
							|  |  |  | syn case ignore | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " The keywords | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword aveStatement	if then elseif else end break exit return | 
					
						
							|  |  |  | syn keyword aveStatement	for each in continue while | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " String | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region aveString		start=+"+ end=+"+ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Integer number | 
					
						
							|  |  |  | syn match  aveNumber		"[+-]\=\<[0-9]\+\>" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Operator | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword aveOperator		or and max min xor mod by | 
					
						
							| 
									
										
										
										
											2016-09-25 22:11:48 +02:00
										 |  |  | " 'not' is a kind of a problem: It's an Operator as well as a method | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " 'not' is only marked as an Operator if not applied as method | 
					
						
							|  |  |  | syn match aveOperator		"[^\.]not[^a-zA-Z]" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Variables | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword aveFixVariables	av nil self false true nl tab cr tab | 
					
						
							|  |  |  | syn match globalVariables	"_[a-zA-Z][a-zA-Z0-9]*" | 
					
						
							|  |  |  | syn match aveVariables		"[a-zA-Z][a-zA-Z0-9_]*" | 
					
						
							|  |  |  | syn match aveConst		"#[A-Z][A-Z_]+" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Comments | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match aveComment	"'.*" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Typical Typos | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " for C programmers: | 
					
						
							|  |  |  | syn match aveTypos	"==" | 
					
						
							|  |  |  | syn match aveTypos	"!=" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Define the default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting+yet | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link aveStatement		Statement | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link aveString		String | 
					
						
							|  |  |  | hi def link aveNumber		Number | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link aveFixVariables	Special | 
					
						
							|  |  |  | hi def link aveVariables		Identifier | 
					
						
							|  |  |  | hi def link globalVariables	Special | 
					
						
							|  |  |  | hi def link aveConst		Special | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link aveClassMethods	Function | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link aveOperator		Operator | 
					
						
							|  |  |  | hi def link aveComment		Comment | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link aveTypos		Error | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "ave" |