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.rs | 22 |
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())) + }) ) }; |