summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2shiori17 <98276492+2shiori17@users.noreply.github.com>2022-07-13 11:21:56 +0900
committerGitHub <noreply@github.com>2022-07-12 22:21:56 -0400
commit61340f1d89f0a02feb8ad6a6bf481fe6ff5f56df (patch)
tree04f2eeb84411a3d083c9fcf13f68725006f7a827
parent3a4e95c43191c02e54d5b002066df41fb7b4c750 (diff)
feat(cli/lsp): Sort repl completions (#15171)
-rw-r--r--cli/lsp/repl.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/cli/lsp/repl.rs b/cli/lsp/repl.rs
index 5cb747204..b49a284b7 100644
--- a/cli/lsp/repl.rs
+++ b/cli/lsp/repl.rs
@@ -145,11 +145,18 @@ impl ReplLanguageServer {
.ok()
.unwrap_or_default();
- let items = match response {
+ let mut items = match response {
Some(CompletionResponse::Array(items)) => items,
Some(CompletionResponse::List(list)) => list.items,
None => Vec::new(),
};
+ items.sort_by_key(|item| {
+ if let Some(sort_text) = &item.sort_text {
+ sort_text.clone()
+ } else {
+ item.label.clone()
+ }
+ });
items
.into_iter()
.filter_map(|item| {