Unnamed repository; edit this file 'description' to name the repository.
Limit number of completions
Maria José Solano 2023-01-20
parent ec89fc8 · commit d5fb7a4
-rw-r--r--crates/rust-analyzer/src/to_proto.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs
index 0f0642bb4b..f5cee5f907 100644
--- a/crates/rust-analyzer/src/to_proto.rs
+++ b/crates/rust-analyzer/src/to_proto.rs
@@ -215,8 +215,19 @@ pub(crate) fn completion_items(
let max_relevance = items.iter().map(|it| it.relevance().score()).max().unwrap_or_default();
let mut res = Vec::with_capacity(items.len());
for item in items {
- completion_item(&mut res, config, line_index, &tdpp, max_relevance, item)
+ completion_item(&mut res, config, line_index, &tdpp, max_relevance, item);
+
+ if let Some(limit) = config.completion().limit {
+ if res.len() >= limit {
+ break;
+ }
+ }
}
+
+ if let Some(limit) = config.completion().limit {
+ res.truncate(limit);
+ }
+
res
}