diff --git a/cli/lsp/repl.rs b/cli/lsp/repl.rs index 5cb747204f9796..b49a284b7c3be7 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| {