Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/term_search.rs')
| -rw-r--r-- | crates/hir/src/term_search.rs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/crates/hir/src/term_search.rs b/crates/hir/src/term_search.rs index 93e7300491..ea13b0c8a8 100644 --- a/crates/hir/src/term_search.rs +++ b/crates/hir/src/term_search.rs @@ -127,6 +127,13 @@ impl LookupTable { self.types_wishlist.insert(ty.clone()); } + // Collapse suggestions if there are many + if let Some(res) = &res { + if res.len() > self.many_threshold { + return Some(vec![Expr::Many(ty.clone())]); + } + } + res } @@ -158,6 +165,13 @@ impl LookupTable { self.types_wishlist.insert(ty.clone()); } + // Collapse suggestions if there are many + if let Some(res) = &res { + if res.len() > self.many_threshold { + return Some(vec![Expr::Many(ty.clone())]); + } + } + res } @@ -176,11 +190,11 @@ impl LookupTable { } None => { self.data.insert(ty.clone(), AlternativeExprs::new(self.many_threshold, exprs)); - for it in self.new_types.values_mut() { - it.push(ty.clone()); - } } } + for it in self.new_types.values_mut() { + it.push(ty.clone()); + } } /// Iterate all the reachable types |