Skip to content

Commit a9b1e5c

Browse files
Merge #7957
7957: Fix labels for single import assists r=SomeoneToIgnore a=SomeoneToIgnore Before: ![image](https://user-images.githubusercontent.com/2690773/110609185-a26b8e00-8195-11eb-87be-d21b75817c22.png) After: ![image](https://user-images.githubusercontent.com/2690773/110609198-a5667e80-8195-11eb-8c58-9ae19ba71905.png) Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2 parents 63715e1 + 94bb9cb commit a9b1e5c

File tree

2 files changed

+12
-20
lines changed

2 files changed

+12
-20
lines changed

crates/ide_assists/src/handlers/auto_import.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use ide_db::helpers::{
22
import_assets::{ImportAssets, ImportCandidate},
33
insert_use::{insert_use, ImportScope},
4-
item_name, mod_path_to_ast,
4+
mod_path_to_ast,
55
};
66
use syntax::{ast, AstNode, SyntaxNode};
77

@@ -90,17 +90,13 @@ pub(crate) fn auto_import(acc: &mut Assists, ctx: &AssistContext) -> Option<()>
9090
}
9191

9292
let range = ctx.sema.original_range(&syntax_under_caret).range;
93-
let group = import_group_message(import_assets.import_candidate());
93+
let group_label = group_label(import_assets.import_candidate());
9494
let scope = ImportScope::find_insert_use_container(&syntax_under_caret, &ctx.sema)?;
9595
for import in proposed_imports {
96-
let name = match item_name(ctx.db(), import.original_item) {
97-
Some(name) => name,
98-
None => continue,
99-
};
10096
acc.add_group(
101-
&group,
97+
&group_label,
10298
AssistId("auto_import", AssistKind::QuickFix),
103-
format!("Import `{}`", name),
99+
format!("Import `{}`", import.import_path),
104100
range,
105101
|builder| {
106102
let rewriter =
@@ -126,7 +122,7 @@ pub(super) fn find_importable_node(ctx: &AssistContext) -> Option<(ImportAssets,
126122
}
127123
}
128124

129-
fn import_group_message(import_candidate: &ImportCandidate) -> GroupLabel {
125+
fn group_label(import_candidate: &ImportCandidate) -> GroupLabel {
130126
let name = match import_candidate {
131127
ImportCandidate::Path(candidate) => format!("Import {}", candidate.name.text()),
132128
ImportCandidate::TraitAssocItem(candidate) => {

crates/ide_assists/src/handlers/qualify_path.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::iter;
33
use hir::AsAssocItem;
44
use ide_db::helpers::{
55
import_assets::{ImportCandidate, LocatedImport},
6-
item_name, mod_path_to_ast,
6+
mod_path_to_ast,
77
};
88
use ide_db::RootDatabase;
99
use syntax::{
@@ -78,7 +78,7 @@ pub(crate) fn qualify_path(acc: &mut Assists, ctx: &AssistContext) -> Option<()>
7878
acc.add_group(
7979
&group_label,
8080
AssistId("qualify_path", AssistKind::QuickFix),
81-
label(ctx.db(), candidate, &import),
81+
label(candidate, &import),
8282
range,
8383
|builder| {
8484
qualify_candidate.qualify(
@@ -199,21 +199,17 @@ fn group_label(candidate: &ImportCandidate) -> GroupLabel {
199199
GroupLabel(format!("Qualify {}", name))
200200
}
201201

202-
fn label(db: &RootDatabase, candidate: &ImportCandidate, import: &LocatedImport) -> String {
203-
let display_path = match item_name(db, import.original_item) {
204-
Some(display_path) => display_path.to_string(),
205-
None => "{unknown}".to_string(),
206-
};
202+
fn label(candidate: &ImportCandidate, import: &LocatedImport) -> String {
207203
match candidate {
208204
ImportCandidate::Path(candidate) => {
209205
if candidate.qualifier.is_some() {
210-
format!("Qualify with `{}`", display_path)
206+
format!("Qualify with `{}`", import.import_path)
211207
} else {
212-
format!("Qualify as `{}`", display_path)
208+
format!("Qualify as `{}`", import.import_path)
213209
}
214210
}
215-
ImportCandidate::TraitAssocItem(_) => format!("Qualify `{}`", display_path),
216-
ImportCandidate::TraitMethod(_) => format!("Qualify with cast as `{}`", display_path),
211+
ImportCandidate::TraitAssocItem(_) => format!("Qualify `{}`", import.import_path),
212+
ImportCandidate::TraitMethod(_) => format!("Qualify with cast as `{}`", import.import_path),
217213
}
218214
}
219215

0 commit comments

Comments
 (0)