xref: /vim-8.2.3635/runtime/syntax/grads.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	grads (GrADS scripts)
3071d4279SBram Moolenaar" Maintainer:	Stefan Fronzek (sfronzek at gmx dot net)
4071d4279SBram Moolenaar" Last change: 13 Feb 2004
5071d4279SBram Moolenaar
6071d4279SBram Moolenaar" Grid Analysis and Display System (GrADS); http://grads.iges.org/grads
7071d4279SBram Moolenaar" This syntax file defines highlighting for only very few features of
8071d4279SBram Moolenaar" the GrADS scripting language.
9071d4279SBram Moolenaar
1089bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1189bcfda6SBram Moolenaarif exists("b:current_syntax")
12071d4279SBram Moolenaar  finish
13071d4279SBram Moolenaarendif
14071d4279SBram Moolenaar
15071d4279SBram Moolenaar" GrADS is entirely case-insensitive.
16071d4279SBram Moolenaarsyn case ignore
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar" The keywords
19071d4279SBram Moolenaar
20071d4279SBram Moolenaarsyn keyword gradsStatement	if else endif break exit return
21071d4279SBram Moolenaarsyn keyword gradsStatement	while endwhile say prompt pull function
22071d4279SBram Moolenaarsyn keyword gradsStatement subwrd sublin substr read write close
23071d4279SBram Moolenaar" String
24071d4279SBram Moolenaar
25071d4279SBram Moolenaarsyn region gradsString		start=+'+ end=+'+
26071d4279SBram Moolenaar
27071d4279SBram Moolenaar" Integer number
28071d4279SBram Moolenaarsyn match  gradsNumber		"[+-]\=\<[0-9]\+\>"
29071d4279SBram Moolenaar
30071d4279SBram Moolenaar" Operator
31071d4279SBram Moolenaar
32071d4279SBram Moolenaar"syn keyword gradsOperator	| ! % & != >=
33071d4279SBram Moolenaar"syn match gradsOperator		"[^\.]not[^a-zA-Z]"
34071d4279SBram Moolenaar
35071d4279SBram Moolenaar" Variables
36071d4279SBram Moolenaar
37071d4279SBram Moolenaarsyn keyword gradsFixVariables	lat lon lev result rec rc
38071d4279SBram Moolenaarsyn match gradsglobalVariables	"_[a-zA-Z][a-zA-Z0-9]*"
39071d4279SBram Moolenaarsyn match gradsVariables		"[a-zA-Z][a-zA-Z0-9]*"
40071d4279SBram Moolenaarsyn match gradsConst		"#[A-Z][A-Z_]+"
41071d4279SBram Moolenaar
42071d4279SBram Moolenaar" Comments
43071d4279SBram Moolenaar
44071d4279SBram Moolenaarsyn match gradsComment	"\*.*"
45071d4279SBram Moolenaar
46071d4279SBram Moolenaar" Typical Typos
47071d4279SBram Moolenaar
48071d4279SBram Moolenaar" for C programmers:
49071d4279SBram Moolenaar" syn match gradsTypos	"=="
50071d4279SBram Moolenaar" syn match gradsTypos	"!="
51071d4279SBram Moolenaar
52071d4279SBram Moolenaar" Define the default highlighting.
5389bcfda6SBram Moolenaar" Only when an item doesn't hgs highlighting+yet
54071d4279SBram Moolenaar
55*f37506f6SBram Moolenaarhi def link gradsStatement		Statement
56071d4279SBram Moolenaar
57*f37506f6SBram Moolenaarhi def link gradsString		String
58*f37506f6SBram Moolenaarhi def link gradsNumber		Number
59071d4279SBram Moolenaar
60*f37506f6SBram Moolenaarhi def link gradsFixVariables	Special
61*f37506f6SBram Moolenaarhi def link gradsVariables		Identifier
62*f37506f6SBram Moolenaarhi def link gradsglobalVariables	Special
63*f37506f6SBram Moolenaarhi def link gradsConst		Special
64071d4279SBram Moolenaar
65*f37506f6SBram Moolenaarhi def link gradsClassMethods	Function
66071d4279SBram Moolenaar
67*f37506f6SBram Moolenaarhi def link gradsOperator		Operator
68*f37506f6SBram Moolenaarhi def link gradsComment		Comment
69071d4279SBram Moolenaar
70*f37506f6SBram Moolenaarhi def link gradsTypos		Error
71071d4279SBram Moolenaar
72071d4279SBram Moolenaar
73071d4279SBram Moolenaarlet b:current_syntax = "grads"
74