aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src/references
diff options
context:
space:
mode:
authorLukas Wirth <[email protected]>2021-02-09 15:03:39 +0000
committerLukas Wirth <[email protected]>2021-02-12 17:58:29 +0000
commitc5be0b2589e5ed732ae5001122e453f0903bfdf2 (patch)
treee60864d41fd22f995b424b057f4e225609577c26 /crates/ide/src/references
parentd644728d82df10b034d0ea736590c781afa2ba15 (diff)
Use NameLike in FileReference directly as its not exported from ide anymore
Diffstat (limited to 'crates/ide/src/references')
-rw-r--r--crates/ide/src/references/rename.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/ide/src/references/rename.rs b/crates/ide/src/references/rename.rs
index 64992c72d..b04214291 100644
--- a/crates/ide/src/references/rename.rs
+++ b/crates/ide/src/references/rename.rs
@@ -164,20 +164,18 @@ fn find_definition(
164} 164}
165 165
166fn source_edit_from_references( 166fn source_edit_from_references(
167 sema: &Semantics<RootDatabase>, 167 _sema: &Semantics<RootDatabase>,
168 file_id: FileId, 168 file_id: FileId,
169 references: &[FileReference], 169 references: &[FileReference],
170 def: Definition, 170 def: Definition,
171 new_name: &str, 171 new_name: &str,
172) -> (FileId, TextEdit) { 172) -> (FileId, TextEdit) {
173 let root = sema.parse(file_id);
174 let mut edit = TextEdit::builder(); 173 let mut edit = TextEdit::builder();
175 for reference in references { 174 for reference in references {
176 let (range, replacement) = match &reference.name_from_syntax(root.syntax()) { 175 let (range, replacement) = match &reference.name {
177 Some(NameLike::Name(_)) => (None, format!("{}", new_name)), 176 NameLike::Name(_) => (None, format!("{}", new_name)),
178 Some(NameLike::NameRef(name_ref)) => source_edit_from_name_ref(name_ref, new_name, def), 177 NameLike::NameRef(name_ref) => source_edit_from_name_ref(name_ref, new_name, def),
179 Some(NameLike::Lifetime(_)) => (None, format!("{}", new_name)), 178 NameLike::Lifetime(_) => (None, format!("{}", new_name)),
180 None => (None, new_name.to_owned()),
181 }; 179 };
182 // FIXME: Some(range) will be incorrect when we are inside macros 180 // FIXME: Some(range) will be incorrect when we are inside macros
183 edit.replace(range.unwrap_or(reference.range), replacement); 181 edit.replace(range.unwrap_or(reference.range), replacement);