Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/completions/format_string.rs')
-rw-r--r--crates/ide-completion/src/completions/format_string.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/crates/ide-completion/src/completions/format_string.rs b/crates/ide-completion/src/completions/format_string.rs
index 5512ac2153..23affc3659 100644
--- a/crates/ide-completion/src/completions/format_string.rs
+++ b/crates/ide-completion/src/completions/format_string.rs
@@ -3,7 +3,7 @@
use hir::{ModuleDef, ScopeDef};
use ide_db::{syntax_helpers::format_string::is_format_string, SymbolKind};
use itertools::Itertools;
-use syntax::{ast, AstToken, TextRange, TextSize};
+use syntax::{ast, AstToken, TextRange, TextSize, ToSmolStr};
use crate::{context::CompletionContext, CompletionItem, CompletionItemKind, Completions};
@@ -31,9 +31,13 @@ pub(crate) fn format_string(
};
let source_range = TextRange::new(brace_offset, cursor);
- ctx.locals.iter().for_each(|(name, _)| {
- CompletionItem::new(CompletionItemKind::Binding, source_range, name.to_smol_str())
- .add_to(acc, ctx.db);
+ ctx.locals.iter().sorted_by_key(|&(k, _)| k.clone()).for_each(|(name, _)| {
+ CompletionItem::new(
+ CompletionItemKind::Binding,
+ source_range,
+ name.display_no_db().to_smolstr(),
+ )
+ .add_to(acc, ctx.db);
});
ctx.scope.process_all_names(&mut |name, scope| {
if let ScopeDef::ModuleDef(module_def) = scope {
@@ -46,7 +50,7 @@ pub(crate) fn format_string(
CompletionItem::new(
CompletionItemKind::SymbolKind(symbol_kind),
source_range,
- name.to_smol_str(),
+ name.display_no_db().to_smolstr(),
)
.add_to(acc, ctx.db);
}