Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/render/pattern.rs')
| -rw-r--r-- | crates/ide-completion/src/render/pattern.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/crates/ide-completion/src/render/pattern.rs b/crates/ide-completion/src/render/pattern.rs index 463d292955..f9c4037dee 100644 --- a/crates/ide-completion/src/render/pattern.rs +++ b/crates/ide-completion/src/render/pattern.rs @@ -27,11 +27,12 @@ pub(crate) fn render_struct_pat( return None; } - let name = local_name.unwrap_or_else(|| strukt.name(ctx.db())).to_smol_str(); + let name = local_name.unwrap_or_else(|| strukt.name(ctx.db())); + let (name, escaped_name) = (name.to_smol_str(), name.escaped().to_smol_str()); let pat = render_pat( &ctx, pattern_ctx, - &name, + &escaped_name, strukt.kind(ctx.db()), &visible_fields, fields_omitted, @@ -52,14 +53,17 @@ pub(crate) fn render_variant_pat( let fields = variant.fields(ctx.db()); let (visible_fields, fields_omitted) = visible_fields(ctx.completion, &fields, variant)?; - let name = match path { - Some(path) => path.to_string().into(), - None => local_name.unwrap_or_else(|| variant.name(ctx.db())).to_smol_str(), + let (name, escaped_name) = match path { + Some(path) => (path.to_string().into(), path.escaped().to_string().into()), + None => { + let name = local_name.unwrap_or_else(|| variant.name(ctx.db())); + (name.to_smol_str(), name.escaped().to_smol_str()) + } }; let pat = render_pat( &ctx, pattern_ctx, - &name, + &escaped_name, variant.kind(ctx.db()), &visible_fields, fields_omitted, |