diff options
author | 2shiori17 <98276492+2shiori17@users.noreply.github.com> | 2022-07-13 11:21:56 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-12 22:21:56 -0400 |
commit | 61340f1d89f0a02feb8ad6a6bf481fe6ff5f56df (patch) | |
tree | 04f2eeb84411a3d083c9fcf13f68725006f7a827 | |
parent | 3a4e95c43191c02e54d5b002066df41fb7b4c750 (diff) |
feat(cli/lsp): Sort repl completions (#15171)
-rw-r--r-- | cli/lsp/repl.rs | 9 |
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| { |