1" Vim syntax file 2" Copyright by Jan-Oliver Wagner 3" Language: avenue 4" Maintainer: Jan-Oliver Wagner <[email protected]> 5" Last change: 2001 May 10 6 7" Avenue is the ArcView built-in language. ArcView is 8" a desktop GIS by ESRI. Though it is a built-in language 9" and a built-in editor is provided, the use of VIM increases 10" development speed. 11" I use some technologies to automatically load avenue scripts 12" into ArcView. 13 14" quit when a syntax file was already loaded 15if exists("b:current_syntax") 16 finish 17endif 18 19" Avenue is entirely case-insensitive. 20syn case ignore 21 22" The keywords 23 24syn keyword aveStatement if then elseif else end break exit return 25syn keyword aveStatement for each in continue while 26 27" String 28 29syn region aveString start=+"+ end=+"+ 30 31" Integer number 32syn match aveNumber "[+-]\=\<[0-9]\+\>" 33 34" Operator 35 36syn keyword aveOperator or and max min xor mod by 37" 'not' is a kind of a problem: Its an Operator as well as a method 38" 'not' is only marked as an Operator if not applied as method 39syn match aveOperator "[^\.]not[^a-zA-Z]" 40 41" Variables 42 43syn keyword aveFixVariables av nil self false true nl tab cr tab 44syn match globalVariables "_[a-zA-Z][a-zA-Z0-9]*" 45syn match aveVariables "[a-zA-Z][a-zA-Z0-9_]*" 46syn match aveConst "#[A-Z][A-Z_]+" 47 48" Comments 49 50syn match aveComment "'.*" 51 52" Typical Typos 53 54" for C programmers: 55syn match aveTypos "==" 56syn match aveTypos "!=" 57 58" Define the default highlighting. 59" Only when an item doesn't have highlighting+yet 60 61hi def link aveStatement Statement 62 63hi def link aveString String 64hi def link aveNumber Number 65 66hi def link aveFixVariables Special 67hi def link aveVariables Identifier 68hi def link globalVariables Special 69hi def link aveConst Special 70 71hi def link aveClassMethods Function 72 73hi def link aveOperator Operator 74hi def link aveComment Comment 75 76hi def link aveTypos Error 77 78 79let b:current_syntax = "ave" 80