pub trait Plugin: Send + Sync {
// Required methods
fn language(&self) -> Language;
fn extensions(&self) -> &[&str];
fn parse(&self, req: &ParseRequest) -> ParseResponse;
// Provided methods
fn supports_phase_b(&self) -> bool { ... }
fn invoke_phase_b(&self, _req: &InvokeRequest) -> InvokeResponse { ... }
}Expand description
Implemented once per language. Stateless and Send+Sync so a single instance is shared across walker threads (in-process) or drives one child process (sidecar).
Required Methods§
fn language(&self) -> Language
fn extensions(&self) -> &[&str]
fn parse(&self, req: &ParseRequest) -> ParseResponse
Provided Methods§
fn supports_phase_b(&self) -> bool
fn invoke_phase_b(&self, _req: &InvokeRequest) -> InvokeResponse
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".