6 releases (breaking)
0.7.0 | Jun 17, 2025 |
---|---|
0.6.1 | Jun 9, 2025 |
0.5.0 | Mar 14, 2025 |
0.4.0 | Mar 3, 2025 |
0.1.0 |
|
#578 in Text editors
245 downloads per month
Used in 3 crates
64KB
1.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
~14–23MB
~301K SLoC