" Vim syntax file " Copyright by Jan-Oliver Wagner " Language: avenue " Maintainer: Jan-Oliver Wagner " 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 else command -nargs=+ HiLink hi def link 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"