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