blob: 0f09483fedc02caec18c8ce7e89ec54a82bac79a [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" 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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020010" quit when a syntax file was already loaded
11if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000012 finish
13endif
14
15" GrADS is entirely case-insensitive.
16syn case ignore
17
18" The keywords
19
20syn keyword gradsStatement if else endif break exit return
21syn keyword gradsStatement while endwhile say prompt pull function
22syn keyword gradsStatement subwrd sublin substr read write close
23" String
24
25syn region gradsString start=+'+ end=+'+
26
27" Integer number
28syn match gradsNumber "[+-]\=\<[0-9]\+\>"
29
30" Operator
31
32"syn keyword gradsOperator | ! % & != >=
33"syn match gradsOperator "[^\.]not[^a-zA-Z]"
34
35" Variables
36
37syn keyword gradsFixVariables lat lon lev result rec rc
38syn match gradsglobalVariables "_[a-zA-Z][a-zA-Z0-9]*"
39syn match gradsVariables "[a-zA-Z][a-zA-Z0-9]*"
40syn match gradsConst "#[A-Z][A-Z_]+"
41
42" Comments
43
44syn match gradsComment "\*.*"
45
46" Typical Typos
47
48" for C programmers:
49" syn match gradsTypos "=="
50" syn match gradsTypos "!="
51
52" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020053" Only when an item doesn't hgs highlighting+yet
54command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000055
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020056HiLink gradsStatement Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000057
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020058HiLink gradsString String
59HiLink gradsNumber Number
Bram Moolenaar071d4272004-06-13 20:20:40 +000060
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020061HiLink gradsFixVariables Special
62HiLink gradsVariables Identifier
63HiLink gradsglobalVariables Special
64HiLink gradsConst Special
Bram Moolenaar071d4272004-06-13 20:20:40 +000065
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020066HiLink gradsClassMethods Function
Bram Moolenaar071d4272004-06-13 20:20:40 +000067
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020068HiLink gradsOperator Operator
69HiLink gradsComment Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +000070
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020071HiLink gradsTypos Error
Bram Moolenaar071d4272004-06-13 20:20:40 +000072
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020073delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000074
75let b:current_syntax = "grads"