Skip to main content

Crate gruel_lsp

Crate gruel_lsp 

Source
Expand description

Language Server Protocol implementation for Gruel (ADR-0091).

This crate is the engine behind the gruel lsp subcommand. It depends on gruel-compiler and reuses the existing frontend pipeline; what we add on top is the LSP message pump (tower-lsp), incremental document state, and the mapping from Gruel JsonDiagnostic values to LSP types.

Re-exports§

pub use server::Backend;
pub use server::run_server;
pub use server::run_stdio_server;

Modules§

analysis
Compile analysis worker (ADR-0091).
code_actions
Code actions for diagnostic suggestions (ADR-0091 Phase 2).
completion
Completion (ADR-0091 Phase 6).
diagnostics
Convert Gruel JsonDiagnostic values to LSP Diagnostic values (ADR-0091).
document
Document store with incremental text sync (ADR-0091).
goto
Goto-definition (ADR-0091 Phase 4).
hover
Hover (ADR-0091 Phase 3).
inlay_hints
Inlay hints (ADR-0091 Phase 6).
position
Position conversion between LSP Position (UTF-16 code units) and Gruel byte offsets (ADR-0091).
references
Find references (ADR-0091 Phase 5).
server
tower-lsp LanguageServer impl (ADR-0091).
signature
Signature help (ADR-0091 Phase 4).
workspace
Workspace file discovery and @import closure construction (ADR-0091).
workspace_symbols
Workspace symbols (ADR-0091 Phase 5).