xref: /vim-8.2.3635/runtime/syntax/ave.vim (revision 5f1920ad)
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: It's 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