2014-07-10 21:05:51 -07: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.
|
|
|
|
|
2017-04-28 12:06:44 -07:00
|
|
|
" quit when a syntax file was already loaded
|
|
|
|
if exists("b:current_syntax")
|
2014-07-10 21:05:51 -07: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
|
2017-04-28 14:27:35 -07:00
|
|
|
" 'not' is a kind of a problem: It's an Operator as well as a method
|
2014-07-10 21:05:51 -07: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.
|
2017-04-28 12:06:44 -07:00
|
|
|
" Only when an item doesn't have highlighting+yet
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link aveStatement Statement
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link aveString String
|
|
|
|
hi def link aveNumber Number
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link aveFixVariables Special
|
|
|
|
hi def link aveVariables Identifier
|
|
|
|
hi def link globalVariables Special
|
|
|
|
hi def link aveConst Special
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link aveClassMethods Function
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link aveOperator Operator
|
|
|
|
hi def link aveComment Comment
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link aveTypos Error
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
|
|
|
|
let b:current_syntax = "ave"
|