summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/ave.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/ave.vim')
-rw-r--r--runtime/syntax/ave.vim79
1 files changed, 79 insertions, 0 deletions
diff --git a/runtime/syntax/ave.vim b/runtime/syntax/ave.vim
new file mode 100644
index 0000000..e63e7d2
--- /dev/null
+++ b/runtime/syntax/ave.vim
@@ -0,0 +1,79 @@
+" 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.
+
+" quit when a syntax file was already loaded
+if 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: It's 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.
+" Only when an item doesn't have highlighting+yet
+
+hi def link aveStatement Statement
+
+hi def link aveString String
+hi def link aveNumber Number
+
+hi def link aveFixVariables Special
+hi def link aveVariables Identifier
+hi def link globalVariables Special
+hi def link aveConst Special
+
+hi def link aveClassMethods Function
+
+hi def link aveOperator Operator
+hi def link aveComment Comment
+
+hi def link aveTypos Error
+
+
+let b:current_syntax = "ave"