Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/render/union_literal.rs')
-rw-r--r--crates/ide-completion/src/render/union_literal.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/crates/ide-completion/src/render/union_literal.rs b/crates/ide-completion/src/render/union_literal.rs
index aafedaf5aa..fc35381256 100644
--- a/crates/ide-completion/src/render/union_literal.rs
+++ b/crates/ide-completion/src/render/union_literal.rs
@@ -18,17 +18,17 @@ pub(crate) fn render_union_literal(
path: Option<hir::ModPath>,
local_name: Option<Name>,
) -> Option<CompletionItem> {
- let name = local_name.unwrap_or_else(|| un.name(ctx.db())).to_smol_str();
+ let name = local_name.unwrap_or_else(|| un.name(ctx.db()));
- let qualified_name = match path {
- Some(p) => p.to_string(),
- None => name.to_string(),
+ let (qualified_name, escaped_qualified_name) = match path {
+ Some(p) => (p.to_string(), p.escaped().to_string()),
+ None => (name.to_string(), name.escaped().to_string()),
};
let mut item = CompletionItem::new(
CompletionItemKind::SymbolKind(SymbolKind::Union),
ctx.source_range(),
- format_literal_label(&name, StructKind::Record),
+ format_literal_label(&name.to_smol_str(), StructKind::Record),
);
let fields = un.fields(ctx.db());
@@ -41,16 +41,16 @@ pub(crate) fn render_union_literal(
let literal = if ctx.snippet_cap().is_some() {
format!(
"{} {{ ${{1|{}|}}: ${{2:()}} }}$0",
- qualified_name,
- fields.iter().map(|field| field.name(ctx.db())).format(",")
+ escaped_qualified_name,
+ fields.iter().map(|field| field.name(ctx.db()).escaped().to_smol_str()).format(",")
)
} else {
format!(
"{} {{ {} }}",
- qualified_name,
- fields
- .iter()
- .format_with(", ", |field, f| { f(&format_args!("{}: ()", field.name(ctx.db()))) })
+ escaped_qualified_name,
+ fields.iter().format_with(", ", |field, f| {
+ f(&format_args!("{}: ()", field.name(ctx.db()).escaped()))
+ })
)
};