3 releases
| 0.6.2 | Jun 17, 2025 |
|---|---|
| 0.6.1 | Jun 9, 2025 |
| 0.5.1 |
|
| 0.4.0 |
|
| 0.1.0 |
|
#1821 in Parser implementations
686 downloads per month
Used in varlink-language-server
2.5MB
4.5K
SLoC
Auto LSP
A Rust crate for creating Abstract Syntax Trees (AST) and Language Server Protocol (LSP) servers powered by Tree-sitter
auto_lsp is a generic library for creating Abstract Syntax Trees (AST) and Language Server Protocol (LSP) servers.
It leverages crates such as lsp_types, lsp_server, salsa, and texter, and generates the AST of a Tree-sitter language to simplify building LSP servers.
auto_lsp provides useful abstractions while remaining flexible. You can override the default database as well as all LSP request and notification handlers.
It is designed to be as language-agnostic as possible, allowing any Tree-sitter grammar to be used.
See ARCHITECTURE.md for more information.
✨ Features
- Generates a thread-safe, immutable and iterable AST with parent-child relations from a Tree-sitter language.
- Supports downcasting of AST nodes to concrete types.
- Integrates with a Salsa database and parallelize LSP requests and notifications.
📚 Documentation
Examples
Cargo Features
lsp_server: Enables the LSP server (uses lsp_server).wasm: Enables WASM support (compatible only withwasi-p1-threads).
Inspirations / Similar Projects
- Volar
- Type-sitter
- Rust Analyzer
- Ruff
- texter by airblast-dev, which saved hours of headaches.
Dependencies
~19–27MB
~389K SLoC