xref: /vim-8.2.3635/runtime/syntax/grads.vim (revision cb03397a)
1" Vim syntax file
2" Language:	grads (GrADS scripts)
3" Maintainer:	Stefan Fronzek (sfronzek at gmx dot net)
4" Last change: 13 Feb 2004
5
6" Grid Analysis and Display System (GrADS); http://grads.iges.org/grads
7" This syntax file defines highlighting for only very few features of
8" the GrADS scripting language.
9
10" For version 5.x: Clear all syntax items
11" For version 6.x: Quit when a syntax file was already loaded
12if version < 600
13  syntax clear
14elseif exists("b:current_syntax")
15  finish
16endif
17
18" GrADS is entirely case-insensitive.
19syn case ignore
20
21" The keywords
22
23syn keyword gradsStatement	if else endif break exit return
24syn keyword gradsStatement	while endwhile say prompt pull function
25syn keyword gradsStatement subwrd sublin substr read write close
26" String
27
28syn region gradsString		start=+'+ end=+'+
29
30" Integer number
31syn match  gradsNumber		"[+-]\=\<[0-9]\+\>"
32
33" Operator
34
35"syn keyword gradsOperator	| ! % & != >=
36"syn match gradsOperator		"[^\.]not[^a-zA-Z]"
37
38" Variables
39
40syn keyword gradsFixVariables	lat lon lev result rec rc
41syn match gradsglobalVariables	"_[a-zA-Z][a-zA-Z0-9]*"
42syn match gradsVariables		"[a-zA-Z][a-zA-Z0-9]*"
43syn match gradsConst		"#[A-Z][A-Z_]+"
44
45" Comments
46
47syn match gradsComment	"\*.*"
48
49" Typical Typos
50
51" for C programmers:
52" syn match gradsTypos	"=="
53" syn match gradsTypos	"!="
54
55" Define the default highlighting.
56" For version 5.7 and earlier: only when not done already
57" For version 5.8 and later: only when an item doesn't hgs highlighting+yet
58if version >= 508 || !exists("did_gs_syn_inits")
59  if version < 508
60	let did_gs_syn_inits = 1
61	command -nargs=+ HiLink hi link <args>
62  else
63	command -nargs=+ HiLink hi def link <args>
64  endif
65
66  HiLink gradsStatement		Statement
67
68  HiLink gradsString		String
69  HiLink gradsNumber		Number
70
71  HiLink gradsFixVariables	Special
72  HiLink gradsVariables		Identifier
73  HiLink gradsglobalVariables	Special
74  HiLink gradsConst		Special
75
76  HiLink gradsClassMethods	Function
77
78  HiLink gradsOperator		Operator
79  HiLink gradsComment		Comment
80
81  HiLink gradsTypos		Error
82
83  delcommand HiLink
84endif
85
86let b:current_syntax = "grads"
87