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.rs | 25 |
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)); - } - } } |