aether-lspd
An LSP daemon that manages language server processes and shares them across multiple Aether agents. Communicates over Unix domain sockets.
Table of Contents
Quick start
Connect to a workspace, query hover info, and disconnect:
use ;
use Path;
async
The client auto-spawns a daemon process if one isn't already running. Multiple clients can share the same daemon for a given workspace and language.
Documentation
Full API documentation is available on docs.rs.
Key entry points:
- [
LspClient] -- connect to a daemon and make LSP requests - [
LspDaemon] -- the daemon runtime that manages language servers - [
LanguageId] -- supported languages and their LSP server configurations - [
DaemonRequest] / [DaemonResponse] -- the wire protocol between client and daemon
Key Types
LspClient-- Client for connecting to a running daemon. Supports go-to-definition, references, hover, diagnostics, rename, and more.LspDaemon-- Main daemon runtime. Listens on a Unix socket and manages language server lifecycles.DaemonRequest/DaemonResponse-- Protocol messages between client and daemon.LanguageId-- Supported language identifiers with associated LSP server configurations.
Feature Flags
| Feature | Description |
|---|---|
testing |
Test utilities for integration tests |
License
MIT