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

Gr​ADS

by fox91 ST4

GrADS syntax for Sublime Text

Details

Installs

  • Total 12
  • Win 5
  • Mac 3
  • Linux 4
Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7 Oct 6 Oct 5 Oct 4 Oct 3 Oct 2 Oct 1 Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3 Sep 2 Sep 1 Aug 31 Aug 30
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
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 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 define — name = 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 toggling — Ctrl+/ (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