pub async fn complete_versions_generic_from(
registry: &dyn Registry,
package_name: &PackageName,
source: &DependencySource,
prefix: &str,
operator_chars: &[char],
freshness: FreshnessSettings,
) -> Vec<CompletionItem>Expand description
Like complete_versions_generic, but resolves through crate::Registry::get_versions_from.
Routes on source, so a registry that routes a dependency’s fetch across more than one
underlying index (e.g. a per-instance-host AlternateRegistry, GitLab CI’s
deps-gitlab-ci) completes against the correct index instead of falling back to a
source-unaware default.
complete_versions_generic delegates to this with
crate::parser::DependencySource::Registry — behavior-preserving for every one of its
18 existing call sites, all of which pass a plain registry-resolved dependency: this is
exactly the source crate::Registry::get_versions_from’s default implementation
forwards to crate::Registry::get_versions_with for, so nothing observable changes for
them.
§Examples
use deps_core::completion::complete_versions_generic_from;
use deps_core::parser::DependencySource;
use deps_core::PackageName;
let freshness = deps_core::FreshnessSettings::default();
let items = complete_versions_generic_from(
registry,
&PackageName::new("gitlab.com/org/proj"),
&DependencySource::Registry,
"1.",
&[],
freshness,
).await;