Skip to main content

Crate pathfinder_lsp

Crate pathfinder_lsp 

Source
Expand description

Pathfinder LSP client — the Lawyer engine.

This crate provides the Lawyer trait (the testability boundary for all LSP operations) and supporting types.

§Module Layout

  • error — error types for LSP operations
  • types — result types returned by the Lawyer trait
  • lawyer — the Lawyer trait itself
  • clientLspClient production implementation
  • mockMockLawyer test double
  • no_opNoOpLawyer for graceful degradation when no LSP is configured

Re-exports§

pub use client::LspClient;
pub use error::LspError;
pub use lawyer::Lawyer;
pub use mock::MockLawyer;
pub use no_op::NoOpLawyer;
pub use types::DefinitionLocation;
pub use plugin::all_plugins;
pub use plugin::plugin_for_extension;
pub use plugin::plugin_for_language;
pub use plugin::GoPlugin;
pub use plugin::LanguagePlugin;
pub use plugin::LspCandidate;
pub use plugin::PythonPlugin;
pub use plugin::RustPlugin;
pub use plugin::TypeScriptPlugin;

Modules§

client
Client module. LspClient — the production Lawyer implementation.
error
Module for error handling and definitions. Error types for LSP operations.
lawyer
Module for legal functionalities. The lawyer module providing legal-related functionality. The Lawyer trait — testability boundary for LSP operations.
mock
Mock implementation for testing. Test double for the Lawyer trait.
no_op
The no_op module provides no-operation stub implementations. NoOpLawyer — graceful degradation when no LSP is configured.
plugin
LT-2: Language Plugin trait — per-language behaviour abstraction. LT-2: Language Plugin Trait — per-language behavior abstraction.
types
Module containing type definitions for the language server protocol. Result types returned by the Lawyer trait.