forked from aniani/vim
		
	
		
			
	
	
		
			93 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " 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. | ||
|  | 
 | ||
|  | " 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 | ||
|  | 
 | ||
|  | " 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 | ||
|  | " 'not' is a kind of a problem: Its an Operator as well as a method | ||
|  | " '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. | ||
|  | " 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_ave_syn_inits") | ||
|  |   if version < 508 | ||
|  | 	let did_ave_syn_inits = 1 | ||
|  | 	command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  | 	command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink aveStatement		Statement | ||
|  | 
 | ||
|  |   HiLink aveString		String | ||
|  |   HiLink aveNumber		Number | ||
|  | 
 | ||
|  |   HiLink aveFixVariables	Special | ||
|  |   HiLink aveVariables		Identifier | ||
|  |   HiLink globalVariables	Special | ||
|  |   HiLink aveConst		Special | ||
|  | 
 | ||
|  |   HiLink aveClassMethods	Function | ||
|  | 
 | ||
|  |   HiLink aveOperator		Operator | ||
|  |   HiLink aveComment		Comment | ||
|  | 
 | ||
|  |   HiLink aveTypos		Error | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "ave" |