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