Editor Integration

Syntax highlighting, Tree-sitter grammar, and LSP support for RSL.

Rustimate provides first-class editor tooling for RSL through a Tree-sitter grammar and a Language Server (LSP).


Tree-sitter grammar

The Rustimate Tree-sitter grammar enables:

  • Syntax highlighting
  • Structural parsing
  • Editor tooling based on the RSL syntax tree

The grammar is open source and available at:
github.com/rustimate/tree-sitter-rsl

Note

Tree-sitter support is in v1.0 Public Beta.

Neovim

Add the Rustimate grammar to your nvim-treesitter configuration:

require'nvim-treesitter.parsers'.get_parser_configs().rsl = {
  install_info = {
    url = "https://github.com/rustimate/tree-sitter-rsl",
    files = {"src/parser.c"}
  }
}

Helix

Add the language to your languages.toml:

[[language]]
name = "rsl"
scope = "source.rsl"

Emacs

Install the grammar and configure the major mode:

(add-to-list 'treesit-language-source-alist
 '(rsl "https://github.com/rustimate/tree-sitter-rsl"))

Rustimate LSP

The Rustimate Language Server provides smart editor features:

  • Autocomplete for RSL constructs
  • Real-time diagnostics (timing conflicts, syntax errors)
  • Catch issues before rendering
Note

The LSP is in v1.0 Public Beta.

Supported editors

Editor Status
Neovim ✅ Supported
VS Code ✅ Supported
Emacs ✅ Supported
Zed ✅ Supported
Helix ✅ Supported
Lapce ✅ Supported
Sublime Text ✅ Supported

Example LSP diagnostic

scene "Intro" {
  duration: 2.0s
  text "Title" {
    value: "LSP Diagnostic"
    animation: slide_in {
      start: 0.0s,
      end: 3.5s  // ← LSP Error: end time exceeds scene duration
    }
  }
}

The LSP catches issues like end times exceeding scene duration before you ever render.


💻 [PLACEHOLDER — Screenshot: RSL in Neovim with syntax highlighting active]
Replace with: ![Neovim syntax highlighting](assets/screenshots/neovim-highlight.png)

💻 [PLACEHOLDER — Screenshot: LSP diagnostic in VS Code or Neovim]
Replace with: ![LSP error in editor](assets/screenshots/lsp-diagnostic.png)