Beacon Language Server
Beacon’s Language Server Protocol (LSP) implementation bridges the Rust-based analyzer with editors such as VS Code, Neovim, and Helix. This chapter documents the system from high-level goals to feature-by-feature behaviour.
Use the sidebar to jump into any topic, or start with the sections below:
- Goals And Scope - what the server delivers today and what is intentionally out of scope.
- Architecture Overview - how shared state, concurrency, and feature wiring are structured.
- Document Pipeline - how file contents become parse trees, ASTs, and symbol tables.
- Feature Providers - the capabilities exposed via LSP requests and notifications.
- Request Lifecycles - end-to-end flows for initialization, diagnostics, completions, and more.
- Workspace Services - cross-file features and emerging workspace indexing plans.
- Testing Strategy - automated coverage for providers and backend flows.
- Current Limitations - known gaps and trade-offs in the current implementation.
- Next Steps - near-term improvements on the roadmap.
If you are new to the Language Server Protocol itself, read the primer in Learn → Language Server Protocol before diving into these implementation details.