Announcement
· Aug 18

Introducing tree‑sitter‑objectscript: High‑Performance Syntax Parsing for ObjectScript in Your Favorite Editors

I’m pleased to announce the release of tree-sitter-objectscript, a new open-source tree-sitter grammar that brings first-class ObjectScript support to modern editors. If you caught the preview at READY ’25, you’ll be glad to know it’s now up on Github:

https://github.com/intersystems/tree-sitter-objectscript

What Does It Provide?

  • Fast & Precise Parsing: A powerful grammar for ObjectScript, enabling real-time syntax parsing, smart highlighting, and structural editing in modern code editors.
  • Polyglot-Awareness: ObjectScript .cls files often embed SQL, HTML, Python, JavaScript, JSON, CSS, XML, and Markdown. The grammar is designed to integrate with those seamlessly.
  • Multi-Editor Support: Works across multiple editors today, with others coming as tree-sitter adoption grows.

Supported Editors

We've been working with tree-sitter-objectscript and the following editors:

Screenshot (Zed)

Screenshot of syntax highlighting in Zed

(this is actually Zed on Windows with a Tokyo Night Storm theme).


We’re excited to see how the community uses this — feedback and ideas are always welcome!

Thanks!

Discussion (8)4
Log in or sign up to continue

From the udl directory, you should be able to do tree-sitter build --wasm (I use emscripten on Windows via scoop rather than the docker tooling) followed by tree-sitter playground to test. As I mentioned to Dmitry, I'll add some notes about getting started with contributing, it's mostly per the tree-sitter parser development docs, but I've found a few things that help!

Best place to start is the documentation for developing tree-sitter grammars, you'll need the tree-sitter-cli tooling (via homebrew on the Mac, or scoop on Windows).

https://tree-sitter.github.io/tree-sitter/index.html

I tend to just use the tree-sitter tools directly as per the tree-sitter-cli documentation -- tree-sitter generate to process the grammar into the state machine, then tree-sitter build followed by tree-sitter playground for testing the grammar in the playground.

In the meantime, I will add a section on getting started with contributing to the README!