pub struct ComposerEcosystem { /* private fields */ }Expand description
Composer ecosystem implementation.
Provides LSP functionality for composer.json files, including:
- Dependency parsing with position tracking
- Version information from Packagist registry
- Inlay hints for latest versions
- Hover tooltips with package metadata
- Code actions for version updates
- Diagnostics for unknown/abandoned packages
Implementations§
Trait Implementations§
Source§impl Ecosystem for ComposerEcosystem
impl Ecosystem for ComposerEcosystem
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 ComposerEcosystem
Auto Trait Implementations§
impl Freeze for ComposerEcosystem
impl !RefUnwindSafe for ComposerEcosystem
impl Send for ComposerEcosystem
impl Sync for ComposerEcosystem
impl Unpin for ComposerEcosystem
impl UnsafeUnpin for ComposerEcosystem
impl !UnwindSafe for ComposerEcosystem
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