Skip to main content

Module lsp

Module lsp 

Source

Re-exports§

pub use readiness::ReadinessSnapshot;
pub use readiness::ReadinessState;
pub use registry::LSP_RECIPES;
pub use registry::LspRecipe;
pub use registry::LspStatus;
pub use registry::check_lsp_status;
pub use registry::default_lsp_args_for_command;
pub use registry::default_lsp_command_for_extension;
pub use registry::default_lsp_command_for_path;
pub use registry::get_lsp_recipe;
pub use registry::lsp_binary_exists;
pub use types::LspDiagnostic;
pub use types::LspDiagnosticRequest;
pub use types::LspReference;
pub use types::LspRenamePlan;
pub use types::LspRenamePlanRequest;
pub use types::LspRequest;
pub use types::LspTypeHierarchyNode;
pub use types::LspTypeHierarchyRequest;
pub use types::LspWorkspaceSymbol;
pub use types::LspWorkspaceSymbolRequest;

Modules§

readiness
Per-session readiness tracking.
registry
types

Structs§

LspSessionPool
P1-1: each live language-server session is wrapped in its own Mutex<LspSession>. The pool itself is a lock-free DashMap so that requests routed to different (command, args) sessions (e.g. pyright vs rust-analyzer in a polyglot monorepo) no longer serialize on a single pool-level mutex. Requests hitting the same session still take a session-local mutex — the LSP JSON-RPC wire is inherently serial per stdin/stdout pair.

Constants§

ALLOWED_COMMANDS
The list of allowed LSP server binary names.

Functions§

find_referencing_symbols_via_lsp
get_diagnostics_via_lsp
get_rename_plan_via_lsp
get_type_hierarchy_via_lsp
is_allowed_lsp_command
Known-safe LSP server binaries. Commands not in this list are rejected.
search_workspace_symbols_via_lsp