annotate runtime/syntax/grads.vim @ 0:76efa0be13f1

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