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 60command -nargs=+ HiLink hi def link <args> 61 62HiLink aveStatement Statement 63 64HiLink aveString String 65HiLink aveNumber Number 66 67HiLink aveFixVariables Special 68HiLink aveVariables Identifier 69HiLink globalVariables Special 70HiLink aveConst Special 71 72HiLink aveClassMethods Function 73 74HiLink aveOperator Operator 75HiLink aveComment Comment 76 77HiLink aveTypos Error 78 79delcommand HiLink 80 81let b:current_syntax = "ave" 82