Struct ComposerDependency
pub struct ComposerDependency {
pub name: String,
pub name_range: Range,
pub version_req: Option<String>,
pub version_range: Option<Range>,
pub section: ComposerSection,
}Expand description
Parsed dependency from composer.json with position tracking.
Stores all information about a dependency declaration, including its name, version requirement, and source positions for LSP operations.
§Examples
use deps_composer::types::{ComposerDependency, ComposerSection};
use tower_lsp_server::ls_types::{Position, Range};
let dep = ComposerDependency {
name: "symfony/console".into(),
name_range: Range::new(Position::new(3, 4), Position::new(3, 20)),
version_req: Some("^6.0".into()),
version_range: Some(Range::new(Position::new(3, 23), Position::new(3, 28))),
section: ComposerSection::Require,
};
assert_eq!(dep.name, "symfony/console");
assert!(matches!(dep.section, ComposerSection::Require));Fields§
§name: String§name_range: Range§version_req: Option<String>§version_range: Option<Range>§section: ComposerSectionTrait Implementations§
§impl Clone for ComposerDependency
impl Clone for ComposerDependency
§fn clone(&self) -> ComposerDependency
fn clone(&self) -> ComposerDependency
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for ComposerDependency
impl Debug for ComposerDependency
§impl Dependency for ComposerDependency
impl Dependency for ComposerDependency
§fn name_range(&self) -> Range
fn name_range(&self) -> Range
LSP range of the dependency name
§fn version_requirement(&self) -> Option<&str>
fn version_requirement(&self) -> Option<&str>
Version requirement string (e.g., “^1.0”, “>=2.0”)
§fn version_range(&self) -> Option<Range>
fn version_range(&self) -> Option<Range>
LSP range of the version string
§fn source(&self) -> DependencySource
fn source(&self) -> DependencySource
Dependency source (registry, git, path)
§impl DependencyInfo for ComposerDependency
impl DependencyInfo for ComposerDependency
§fn name_range(&self) -> Range
fn name_range(&self) -> Range
LSP range of the dependency name in the source file.
§fn version_requirement(&self) -> Option<&str>
fn version_requirement(&self) -> Option<&str>
Version requirement string (e.g., “^1.0”, “~2.3.4”).
§fn version_range(&self) -> Option<Range>
fn version_range(&self) -> Option<Range>
LSP range of the version string (for inlay hints positioning).
§fn source(&self) -> DependencySource
fn source(&self) -> DependencySource
Dependency source (registry, git, path).
§impl PartialEq for ComposerDependency
impl PartialEq for ComposerDependency
impl Eq for ComposerDependency
impl StructuralPartialEq for ComposerDependency
Auto Trait Implementations§
impl Freeze for ComposerDependency
impl RefUnwindSafe for ComposerDependency
impl Send for ComposerDependency
impl Sync for ComposerDependency
impl Unpin for ComposerDependency
impl UnwindSafe for ComposerDependency
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
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
Checks if this value is equivalent to the given key. Read more
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.§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