Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/render.rs')
| -rw-r--r-- | crates/ide-completion/src/render.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/crates/ide-completion/src/render.rs b/crates/ide-completion/src/render.rs index 2ed080a834..6d91b37916 100644 --- a/crates/ide-completion/src/render.rs +++ b/crates/ide-completion/src/render.rs @@ -272,6 +272,26 @@ pub(crate) fn render_resolution_with_import_pat( Some(render_resolution_pat(ctx, pattern_ctx, local_name, Some(import_edit), resolution)) } +pub(crate) fn render_type_tree( + ctx: &CompletionContext<'_>, + expr: &hir::term_search::TypeTree, + path_ctx: &PathCompletionCtx, +) -> Builder { + let mut item = CompletionItem::new( + CompletionItemKind::Snippet, + ctx.source_range(), + expr.gen_source_code(&ctx.scope), + ); + item.set_relevance(crate::CompletionRelevance { + type_match: Some(crate::item::CompletionRelevanceTypeMatch::CouldUnify), + ..Default::default() + }); + + path_ref_match(ctx, path_ctx, &expr.ty(ctx.sema.db), &mut item); + + item +} + fn scope_def_to_name( resolution: ScopeDef, ctx: &RenderContext<'_>, |