diff --git a/crates/typst-ide/src/complete.rs b/crates/typst-ide/src/complete.rs index a05be9f83..4e4b89182 100644 --- a/crates/typst-ide/src/complete.rs +++ b/crates/typst-ide/src/complete.rs @@ -1098,9 +1098,11 @@ impl<'a> CompletionContext<'a> { /// Add completions for all available packages. fn package_completions(&mut self, all_versions: bool) { let mut packages: Vec<_> = self.world.packages().iter().collect(); - packages.sort_by_key(|(spec, _)| (&spec.name, Reverse(spec.version))); + packages.sort_by_key(|(spec, _)| { + (&spec.namespace, &spec.name, Reverse(spec.version)) + }); if !all_versions { - packages.dedup_by_key(|(spec, _)| &spec.name); + packages.dedup_by_key(|(spec, _)| (&spec.namespace, &spec.name)); } for (package, description) in packages { self.value_completion(