mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 21:35:20 +00:00
Show qualified variant pattern completions
This commit is contained in:
parent
5d4ae1c8e3
commit
5454559c0a
4 changed files with 95 additions and 45 deletions
|
@ -49,13 +49,17 @@ pub(crate) fn render_variant_pat(
|
|||
ctx: RenderContext<'_>,
|
||||
variant: hir::Variant,
|
||||
local_name: Option<Name>,
|
||||
path: Option<hir::ModPath>,
|
||||
) -> Option<CompletionItem> {
|
||||
let _p = profile::span("render_variant_pat");
|
||||
|
||||
let fields = variant.fields(ctx.db());
|
||||
let (visible_fields, fields_omitted) = visible_fields(&ctx, &fields, variant)?;
|
||||
|
||||
let name = local_name.unwrap_or_else(|| variant.name(ctx.db())).to_string();
|
||||
let name = match &path {
|
||||
Some(path) => path.to_string(),
|
||||
None => local_name.unwrap_or_else(|| variant.name(ctx.db())).to_string(),
|
||||
};
|
||||
let pat = render_pat(&ctx, &name, variant.kind(ctx.db()), &visible_fields, fields_omitted)?;
|
||||
|
||||
Some(build_completion(ctx, name, pat, variant))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue