pub trait Dependency: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn name_range(&self) -> Range;
fn version_requirement(&self) -> Option<&str>;
fn version_range(&self) -> Option<Range>;
fn source(&self) -> DependencySource;
fn as_any(&self) -> &dyn Any;
// Provided method
fn features(&self) -> &[String] { ... }
}Expand description
Generic dependency trait.
All parsed dependencies must implement this for generic handler access.
Required Methods§
Sourcefn name_range(&self) -> Range
fn name_range(&self) -> Range
LSP range of the dependency name
Sourcefn version_requirement(&self) -> Option<&str>
fn version_requirement(&self) -> Option<&str>
Version requirement string (e.g., “^1.0”, “>=2.0”)
Sourcefn version_range(&self) -> Option<Range>
fn version_range(&self) -> Option<Range>
LSP range of the version string
Sourcefn source(&self) -> DependencySource
fn source(&self) -> DependencySource
Dependency source (registry, git, path)