Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/item.rs')
-rw-r--r--crates/ide-completion/src/item.rs25
1 files changed, 5 insertions, 20 deletions
diff --git a/crates/ide-completion/src/item.rs b/crates/ide-completion/src/item.rs
index c7879d7bf3..92782d1e80 100644
--- a/crates/ide-completion/src/item.rs
+++ b/crates/ide-completion/src/item.rs
@@ -440,9 +440,12 @@ impl Builder {
chars.next().is_some_and(unicode_ident::is_xid_start)
&& chars.all(unicode_ident::is_xid_continue)
})
- .join(", ");
+ // Deliberately concatenated without separators as adding separators e.g.
+ // `alias1, alias2` results in LSP clients continuing to display the completion even
+ // after typing a comma or space.
+ .join("");
if !lookup_doc_aliases.is_empty() {
- lookup = SmolStr::from(format!("{lookup} {lookup_doc_aliases}"));
+ lookup = SmolStr::from(format!("{lookup}{lookup_doc_aliases}"));
}
}
if let [import_edit] = &*self.imports_to_add {
@@ -567,12 +570,9 @@ impl Builder {
#[cfg(test)]
mod tests {
- use ide_db::SymbolKind;
use itertools::Itertools;
use test_utils::assert_eq_text;
- use crate::{CompletionItem, CompletionItemKind};
-
use super::{
CompletionRelevance, CompletionRelevancePostfixMatch, CompletionRelevanceTypeMatch,
};
@@ -647,19 +647,4 @@ mod tests {
check_relevance_score_ordered(expected_relevance_order);
}
-
- #[test]
- fn exclude_non_identifier_aliases_from_lookup() {
- let mut item = CompletionItem::new(
- CompletionItemKind::SymbolKind(SymbolKind::Trait),
- Default::default(),
- "PartialOrd",
- );
- let aliases = [">", "<", "<=", ">="];
- item.doc_aliases(aliases.iter().map(|&alias| alias.into()).collect());
- let item = item.build(&Default::default());
- for alias in aliases {
- assert!(!item.lookup().contains(alias));
- }
- }
}