From 5168ab16e14679e16a472c0ab13b1bbc32dc95f3 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Mon, 8 Mar 2021 14:09:20 +0200 Subject: Add rustdocs and use better names --- crates/ide_assists/src/handlers/auto_import.rs | 8 ++++---- crates/ide_assists/src/handlers/qualify_path.rs | 14 ++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'crates/ide_assists/src/handlers') diff --git a/crates/ide_assists/src/handlers/auto_import.rs b/crates/ide_assists/src/handlers/auto_import.rs index 5546c3a4e..7caee8df0 100644 --- a/crates/ide_assists/src/handlers/auto_import.rs +++ b/crates/ide_assists/src/handlers/auto_import.rs @@ -1,7 +1,7 @@ use ide_db::helpers::{ import_assets::{ImportAssets, ImportCandidate}, insert_use::{insert_use, ImportScope}, - mod_path_to_ast, + item_name, mod_path_to_ast, }; use syntax::{ast, AstNode, SyntaxNode}; @@ -93,7 +93,7 @@ pub(crate) fn auto_import(acc: &mut Assists, ctx: &AssistContext) -> Option<()> let group = import_group_message(import_assets.import_candidate()); let scope = ImportScope::find_insert_use_container(&syntax_under_caret, &ctx.sema)?; for import in proposed_imports { - let name = match import.original_item_name(ctx.db()) { + let name = match item_name(ctx.db(), import.original_item) { Some(name) => name, None => continue, }; @@ -130,10 +130,10 @@ fn import_group_message(import_candidate: &ImportCandidate) -> GroupLabel { let name = match import_candidate { ImportCandidate::Path(candidate) => format!("Import {}", candidate.name.text()), ImportCandidate::TraitAssocItem(candidate) => { - format!("Import a trait for item {}", candidate.name.text()) + format!("Import a trait for item {}", candidate.assoc_item_name.text()) } ImportCandidate::TraitMethod(candidate) => { - format!("Import a trait for method {}", candidate.name.text()) + format!("Import a trait for method {}", candidate.assoc_item_name.text()) } }; GroupLabel(name) diff --git a/crates/ide_assists/src/handlers/qualify_path.rs b/crates/ide_assists/src/handlers/qualify_path.rs index b36dd3823..272874ae3 100644 --- a/crates/ide_assists/src/handlers/qualify_path.rs +++ b/crates/ide_assists/src/handlers/qualify_path.rs @@ -2,8 +2,8 @@ use std::iter; use hir::AsAssocItem; use ide_db::helpers::{ - import_assets::{ImportCandidate, LocatedImport, Qualifier}, - mod_path_to_ast, + import_assets::{ImportCandidate, LocatedImport}, + item_name, mod_path_to_ast, }; use ide_db::RootDatabase; use syntax::{ @@ -48,7 +48,7 @@ pub(crate) fn qualify_path(acc: &mut Assists, ctx: &AssistContext) -> Option<()> let qualify_candidate = match candidate { ImportCandidate::Path(candidate) => { - if !matches!(candidate.qualifier, Qualifier::Absent) { + if candidate.qualifier.is_some() { cov_mark::hit!(qualify_path_qualifier_start); let path = ast::Path::cast(syntax_under_caret)?; let (prev_segment, segment) = (path.qualifier()?.segment()?, path.segment()?); @@ -191,20 +191,22 @@ fn item_as_trait(db: &RootDatabase, item: hir::ItemInNs) -> Option { fn group_label(candidate: &ImportCandidate) -> GroupLabel { let name = match candidate { ImportCandidate::Path(it) => &it.name, - ImportCandidate::TraitAssocItem(it) | ImportCandidate::TraitMethod(it) => &it.name, + ImportCandidate::TraitAssocItem(it) | ImportCandidate::TraitMethod(it) => { + &it.assoc_item_name + } } .text(); GroupLabel(format!("Qualify {}", name)) } fn label(db: &RootDatabase, candidate: &ImportCandidate, import: &LocatedImport) -> String { - let display_path = match import.original_item_name(db) { + let display_path = match item_name(db, import.original_item) { Some(display_path) => display_path.to_string(), None => "{unknown}".to_string(), }; match candidate { ImportCandidate::Path(candidate) => { - if !matches!(candidate.qualifier, Qualifier::Absent) { + if candidate.qualifier.is_some() { format!("Qualify with `{}`", display_path) } else { format!("Qualify as `{}`", display_path) -- cgit v1.2.3