pub struct CargoEcosystem { /* private fields */ }Expand description
Cargo ecosystem implementation.
Provides LSP functionality for Cargo.toml files, including:
- Dependency parsing with position tracking
- Version information from crates.io
- Inlay hints for latest versions
- Hover tooltips with package metadata
- Code actions for version updates
- Diagnostics for unknown/yanked packages
Implementations§
Trait Implementations§
Source§impl Ecosystem for CargoEcosystem
impl Ecosystem for CargoEcosystem
Source§fn display_name(&self) -> &'static str
fn display_name(&self) -> &'static str
Human-readable name (e.g., “Cargo (Rust)”, “npm (JavaScript)”) Read more
Source§fn manifest_filenames(&self) -> &[&'static str]
fn manifest_filenames(&self) -> &[&'static str]
Manifest filenames this ecosystem handles (e.g., [“Cargo.toml”]) Read more
Source§fn lockfile_filenames(&self) -> &[&'static str]
fn lockfile_filenames(&self) -> &[&'static str]
Lock file filenames this ecosystem uses (e.g., [“Cargo.lock”]) Read more
Source§fn parse_manifest<'a>(
&'a self,
content: &'a str,
uri: &'a Uri,
) -> BoxFuture<'a, Result<Box<dyn ParseResultTrait>>>
fn parse_manifest<'a>( &'a self, content: &'a str, uri: &'a Uri, ) -> BoxFuture<'a, Result<Box<dyn ParseResultTrait>>>
Parse a manifest file and return parsed result Read more
Source§fn lockfile_provider(&self) -> Option<Arc<dyn LockFileProvider>>
fn lockfile_provider(&self) -> Option<Arc<dyn LockFileProvider>>
Get the lock file provider for this ecosystem. Read more
Source§fn formatter(&self) -> &dyn EcosystemFormatter
fn formatter(&self) -> &dyn EcosystemFormatter
Get the ecosystem-specific formatter for LSP response generation. Read more
Source§fn generate_completions<'a>(
&'a self,
parse_result: &'a dyn ParseResultTrait,
position: Position,
content: &'a str,
) -> BoxFuture<'a, Vec<CompletionItem>>
fn generate_completions<'a>( &'a self, parse_result: &'a dyn ParseResultTrait, position: Position, content: &'a str, ) -> BoxFuture<'a, Vec<CompletionItem>>
Generate completions for a position. Read more
Source§fn generate_inlay_hints<'a>(
&'a self,
parse_result: &'a dyn ParseResult,
cached_versions: &'a HashMap<String, String>,
resolved_versions: &'a HashMap<String, String>,
loading_state: LoadingState,
config: &'a EcosystemConfig,
) -> Pin<Box<dyn Future<Output = Vec<InlayHint>> + Send + 'a>>
fn generate_inlay_hints<'a>( &'a self, parse_result: &'a dyn ParseResult, cached_versions: &'a HashMap<String, String>, resolved_versions: &'a HashMap<String, String>, loading_state: LoadingState, config: &'a EcosystemConfig, ) -> Pin<Box<dyn Future<Output = Vec<InlayHint>> + Send + 'a>>
Generate inlay hints for the document. Read more
Source§fn generate_hover<'a>(
&'a self,
parse_result: &'a dyn ParseResult,
position: Position,
cached_versions: &'a HashMap<String, String>,
resolved_versions: &'a HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Option<Hover>> + Send + 'a>>
fn generate_hover<'a>( &'a self, parse_result: &'a dyn ParseResult, position: Position, cached_versions: &'a HashMap<String, String>, resolved_versions: &'a HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Option<Hover>> + Send + 'a>>
Generate hover information for a position. Read more
Source§fn generate_code_actions<'a>(
&'a self,
parse_result: &'a dyn ParseResult,
position: Position,
_cached_versions: &'a HashMap<String, String>,
uri: &'a Uri,
) -> Pin<Box<dyn Future<Output = Vec<CodeAction>> + Send + 'a>>
fn generate_code_actions<'a>( &'a self, parse_result: &'a dyn ParseResult, position: Position, _cached_versions: &'a HashMap<String, String>, uri: &'a Uri, ) -> Pin<Box<dyn Future<Output = Vec<CodeAction>> + Send + 'a>>
Generate code actions for a position. Read more
Source§fn generate_diagnostics<'a>(
&'a self,
parse_result: &'a dyn ParseResult,
cached_versions: &'a HashMap<String, String>,
resolved_versions: &'a HashMap<String, String>,
_uri: &'a Uri,
) -> Pin<Box<dyn Future<Output = Vec<Diagnostic>> + Send + 'a>>
fn generate_diagnostics<'a>( &'a self, parse_result: &'a dyn ParseResult, cached_versions: &'a HashMap<String, String>, resolved_versions: &'a HashMap<String, String>, _uri: &'a Uri, ) -> Pin<Box<dyn Future<Output = Vec<Diagnostic>> + Send + 'a>>
Generate diagnostics for the document. Read more
impl Sealed for CargoEcosystem
Auto Trait Implementations§
impl Freeze for CargoEcosystem
impl !RefUnwindSafe for CargoEcosystem
impl Send for CargoEcosystem
impl Sync for CargoEcosystem
impl Unpin for CargoEcosystem
impl UnsafeUnpin for CargoEcosystem
impl !UnwindSafe for CargoEcosystem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more