xref: /vim-8.2.3635/runtime/syntax/ave.vim (revision 89bcfda6)
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