ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Gr​ADS

by fox91 ST4

GrADS syntax for Sublime Text

Details

Installs

  • Total 6
  • Win 1
  • Mac 1
  • Linux 4
Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

GrADS syntax for Sublime Text

Syntax highlighting and comment toggling for the GrADS scripting language (.gs / .gsf).

Unlike a docs-driven grammar, the rules here are derived directly from the GrADS C sources (gscrpt.c, gauser.c, gafunc.c, gaexpr.c, gxchpl.c), which are the ground truth for what the interpreter actually accepts — the HTML documentation is incomplete or inaccurate in several places.

Features

  • Comments* or # at the start of a record (column 0 or right after a ;), matching the parser exactly.
  • Strings — single-line only; an unterminated quote is flagged as an error (GrADS reports Non-terminated constant).
  • Script language — case-insensitive keywords (if/while/say/…), function/return, the 37 script intrinsics (subwrd, math_*, …).
  • Compound (array) variables_trin.n.1, with the accessor dots and index segments highlighted.
  • Command strings — case-insensitive command verbs, sub-options, and the 62 built-in grid functions (ave, maskout, EXP, …).
  • Implied definename = expr shorthand (any case).
  • Expressions — arithmetic / comparison / logical operators, parentheses and commas inside display / define / implied-define, persisting across concatenated string segments.
  • Backtick formatting codes — fonts, super/subscript, and the `3. degree symbol.
  • Shell escapes'!cmd …' is marked as a shell command (uniform scope, persisting across concatenation).
  • Comment togglingCtrl+/ (Cmd+/).

Installation

Package Control (recommended)

  1. Install Package Control.
  2. Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run Package Control: Install Package.
  3. Search for GrADS and install it.

Manual

Clone or download this repository into your Sublime Text packages folder (Preferences → Browse Packages…), as a folder named GrADS:

git clone https://github.com/fox91/GrADS-Sublime-syntax.git GrADS

Then open a .gs / .gsf file (or pick View → Syntax → GrADS Script) to activate it.

Developing

The grammar lives in GrADS.sublime-syntax; scope assignments are covered by syntax tests in tests/syntax_test_grads.gs.

To run the tests, place the repository in your Sublime Text packages folder as a folder named GrADS (so the test header's Packages/GrADS/… path resolves), open tests/syntax_test_grads.gs, and run Tools → Build (Ctrl+B / Cmd+B). Results appear in the output panel; press F4 to jump to a failure.

The same tests run on every push and pull request via GitHub Actions (.github/workflows/syntax.yml, using syntax-test-action).

License

MIT © Andrea Falco