All work

subl/syntect

Syntect Sublime LSP

Superpowered Sublime Syntax

sublime-lsp-syntect adds Language Server Protocol support for Sublime Text `.sublime-syntax` files, powered by a Rust syntect server over stdio.

Open repository Version 0.7.0MPL-2.0

Preview not recorded.

What it shows

What it is and what it demonstrates.

Syntect LSP adds Language Server Protocol support for Sublime Text `.sublime-syntax` files, powered by a Rust syntect server over stdio. It gives syntax authors diagnostics, completion, and navigation inside the editor they are already using to write grammars.

The problem

Sublime syntax definitions are YAML-like files with a complex scoping grammar, but Sublime itself provides no language-server support for authoring them. Errors surface only at load time or through manual scope-inspection tools, and there is no inline completion for context names or match patterns. Syntax authors edit blind compared to the LSP-supported languages they are writing grammars for.

The approach

The plugin wraps a Rust-based syntect server that parses and validates `.sublime-syntax` files, exposing diagnostics, context completion, and scope navigation over LSP. The server communicates over stdio, so it needs no network port and no separate process management from the user. The 4-test surface covers server startup, diagnostic emission, and completion filtering.

What it demonstrates

Published at 0.7.0 with CI, pre-commit hooks, typed source, and 2 documentation pages. Four tests cover the critical path — server spawn, parse, and LSP message framing. The real leverage is the Rust backend: syntect is the same engine Sublime uses internally, so the diagnostics reflect the actual parsing semantics, not an approximation.

Repository evidence

Observable facts.

Documentation
2 documentation files
Test surface
4 test files
Continuous integration
Configured
Pre-commit hooks
Configured
Typed source
Configured
Visual evidence
Preview stub
Technologies
sublime