Struct SwiftEcosystem
pub struct SwiftEcosystem { /* private fields */ }Expand description
Swift/SPM ecosystem implementation.
Provides LSP functionality for Package.swift files, including:
- Dependency parsing with position tracking
- Version information from GitHub tags
- Inlay hints for latest versions
- Hover tooltips with package metadata
- Code actions for version updates
- Diagnostics for unknown packages
Implementations§
§impl SwiftEcosystem
impl SwiftEcosystem
pub fn new(cache: Arc<HttpCache>) -> SwiftEcosystem
pub fn new(cache: Arc<HttpCache>) -> SwiftEcosystem
Creates a new Swift ecosystem with the given HTTP cache.
Trait Implementations§
§impl Ecosystem for SwiftEcosystem
impl Ecosystem for SwiftEcosystem
§fn display_name(&self) -> &'static str
fn display_name(&self) -> &'static str
Human-readable name (e.g., “Cargo (Rust)”, “npm (JavaScript)”) Read more
§fn manifest_filenames(&self) -> &[&'static str]
fn manifest_filenames(&self) -> &[&'static str]
Manifest filenames this ecosystem handles (e.g., [“Cargo.toml”]) Read more
§fn lockfile_filenames(&self) -> &[&'static str]
fn lockfile_filenames(&self) -> &[&'static str]
Lock file filenames this ecosystem uses (e.g., [“Cargo.lock”]) Read more
§fn parse_manifest<'a>(
&'a self,
content: &'a str,
uri: &'a Uri,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ParseResult>, DepsError>> + Send + 'a>>
fn parse_manifest<'a>( &'a self, content: &'a str, uri: &'a Uri, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn ParseResult>, DepsError>> + Send + 'a>>
Parse a manifest file and return parsed result Read more
§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
§fn formatter(&self) -> &dyn EcosystemFormatter
fn formatter(&self) -> &dyn EcosystemFormatter
Get the ecosystem-specific formatter for LSP response generation. Read more
§fn generate_completions<'a>(
&'a self,
parse_result: &'a dyn ParseResult,
position: Position,
content: &'a str,
) -> Pin<Box<dyn Future<Output = Vec<CompletionItem>> + Send + 'a>>
fn generate_completions<'a>( &'a self, parse_result: &'a dyn ParseResult, position: Position, content: &'a str, ) -> Pin<Box<dyn Future<Output = Vec<CompletionItem>> + Send + 'a>>
Generate completions for a position. Read more
§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Support for downcasting to concrete ecosystem type Read more
§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
§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
impl Sealed for SwiftEcosystem
Auto Trait Implementations§
impl Freeze for SwiftEcosystem
impl !RefUnwindSafe for SwiftEcosystem
impl Send for SwiftEcosystem
impl Sync for SwiftEcosystem
impl Unpin for SwiftEcosystem
impl !UnwindSafe for SwiftEcosystem
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more