diff options
Diffstat (limited to 'crates/ide/src/references')
-rw-r--r-- | crates/ide/src/references/rename.rs | 12 |
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 | ||
166 | fn source_edit_from_references( | 166 | fn 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); |