Struct SwiftDependency
pub struct SwiftDependency {
pub name: PackageName,
pub name_range: Range,
pub version_req: Option<VersionReq>,
pub version_range: Option<Range>,
pub version_literal: Option<String>,
pub url: String,
pub source: DependencySource,
}Expand description
Parsed dependency from Package.swift with position tracking.
Package names use owner/repo format derived from the Git URL.
Position tracking enables hover, completion, and inlay hints.
Fields§
§name: PackageNamePackage identity: owner/repo (e.g. “apple/swift-nio”)
name_range: RangeLSP range of the URL string content (excluding quotes)
version_req: Option<VersionReq>Normalized version requirement or None for branch/revision/path deps
version_range: Option<Range>LSP range of the version string content (excluding quotes), None for non-registry deps
version_literal: Option<String>The bare literal text version_range spans (e.g. "4.50.0"), when it differs from
version_req — every registry-form syntax synthesizes a comparator requirement
(.exact("4.50.0") -> "=4.50.0", .upToNextMajor(from: "4.77.0") ->
">=4.77.0, <5.0.0") that never matches the bare literal text at version_range.
None for branch/revision/path deps, which have no version_range to guard.
url: StringOriginal Git URL from Package.swift
source: DependencySourceDependency source (registry, git, or path)
Trait Implementations§
§impl Clone for SwiftDependency
impl Clone for SwiftDependency
§fn clone(&self) -> SwiftDependency
fn clone(&self) -> SwiftDependency
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for SwiftDependency
impl Debug for SwiftDependency
§impl Dependency for SwiftDependency
impl Dependency for SwiftDependency
§fn name(&self) -> &PackageName
fn name(&self) -> &PackageName
§fn name_range(&self) -> Range
fn name_range(&self) -> Range
§fn version_requirement(&self) -> Option<&VersionReq>
fn version_requirement(&self) -> Option<&VersionReq>
§fn version_range(&self) -> Option<Range>
fn version_range(&self) -> Option<Range>
§fn source(&self) -> DependencySource
fn source(&self) -> DependencySource
§fn version_literal(&self) -> Option<&str>
fn version_literal(&self) -> Option<&str>
Source§fn features_range(&self) -> Option<Range>
fn features_range(&self) -> Option<Range>
Source§fn markers(&self) -> Option<&str>
fn markers(&self) -> Option<&str>
python_version >= '3.8'). Ecosystem-specific, None if not supported
or not present on this dependency.Source§fn markers_range(&self) -> Option<Range>
fn markers_range(&self) -> Option<Range>
None if not supported or not present).impl Eq for SwiftDependency
§impl PartialEq for SwiftDependency
impl PartialEq for SwiftDependency
impl StructuralPartialEq for SwiftDependency
Auto Trait Implementations§
impl Freeze for SwiftDependency
impl RefUnwindSafe for SwiftDependency
impl Send for SwiftDependency
impl Sync for SwiftDependency
impl Unpin for SwiftDependency
impl UnsafeUnpin for SwiftDependency
impl UnwindSafe for SwiftDependency
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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>
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>
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