diff options
Diffstat (limited to 'crates/ide_completion/src/render.rs')
-rw-r--r-- | crates/ide_completion/src/render.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/crates/ide_completion/src/render.rs b/crates/ide_completion/src/render.rs index 4bddc3957..fae5685e2 100644 --- a/crates/ide_completion/src/render.rs +++ b/crates/ide_completion/src/render.rs | |||
@@ -53,18 +53,20 @@ pub(crate) fn render_resolution<'a>( | |||
53 | pub(crate) fn render_resolution_with_import<'a>( | 53 | pub(crate) fn render_resolution_with_import<'a>( |
54 | ctx: RenderContext<'a>, | 54 | ctx: RenderContext<'a>, |
55 | import_edit: ImportEdit, | 55 | import_edit: ImportEdit, |
56 | resolution: &ScopeDef, | ||
57 | ) -> Option<CompletionItem> { | 56 | ) -> Option<CompletionItem> { |
57 | let resolution = ScopeDef::from(import_edit.import.original_item); | ||
58 | let local_name = match resolution { | 58 | let local_name = match resolution { |
59 | ScopeDef::ModuleDef(ModuleDef::Function(f)) => f.name(ctx.completion.db).to_string(), | 59 | ScopeDef::ModuleDef(ModuleDef::Function(f)) => f.name(ctx.completion.db).to_string(), |
60 | ScopeDef::ModuleDef(ModuleDef::Const(c)) => c.name(ctx.completion.db)?.to_string(), | 60 | ScopeDef::ModuleDef(ModuleDef::Const(c)) => c.name(ctx.completion.db)?.to_string(), |
61 | ScopeDef::ModuleDef(ModuleDef::TypeAlias(t)) => t.name(ctx.completion.db).to_string(), | 61 | ScopeDef::ModuleDef(ModuleDef::TypeAlias(t)) => t.name(ctx.completion.db).to_string(), |
62 | _ => item_name(ctx.db(), import_edit.import.item_to_display())?.to_string(), | 62 | _ => item_name(ctx.db(), import_edit.import.original_item)?.to_string(), |
63 | }; | 63 | }; |
64 | Render::new(ctx).render_resolution(local_name, Some(import_edit), resolution).map(|mut item| { | 64 | Render::new(ctx).render_resolution(local_name, Some(import_edit), &resolution).map( |
65 | item.completion_kind = CompletionKind::Magic; | 65 | |mut item| { |
66 | item | 66 | item.completion_kind = CompletionKind::Magic; |
67 | }) | 67 | item |
68 | }, | ||
69 | ) | ||
68 | } | 70 | } |
69 | 71 | ||
70 | /// Interface for data and methods required for items rendering. | 72 | /// Interface for data and methods required for items rendering. |