diff options
author | Lukas Wirth <[email protected]> | 2020-11-14 16:49:36 +0000 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2020-11-14 16:51:09 +0000 |
commit | e55a44a831477e2fc8e11340c3d91db883b97c8e (patch) | |
tree | db334060759bcc4252689e305a466ec3dd2b5d8b /crates/ide_db | |
parent | 99fa139beab0c03583c676554c3d807525f602af (diff) |
Use shorthand record syntax when renaming struct initializer field
Diffstat (limited to 'crates/ide_db')
-rw-r--r-- | crates/ide_db/src/search.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/crates/ide_db/src/search.rs b/crates/ide_db/src/search.rs index a24335240..4248606c8 100644 --- a/crates/ide_db/src/search.rs +++ b/crates/ide_db/src/search.rs | |||
@@ -30,6 +30,7 @@ pub enum ReferenceKind { | |||
30 | FieldShorthandForField, | 30 | FieldShorthandForField, |
31 | FieldShorthandForLocal, | 31 | FieldShorthandForLocal, |
32 | StructLiteral, | 32 | StructLiteral, |
33 | RecordExprField, | ||
33 | Other, | 34 | Other, |
34 | } | 35 | } |
35 | 36 | ||
@@ -278,12 +279,15 @@ impl<'a> FindUsages<'a> { | |||
278 | ) -> bool { | 279 | ) -> bool { |
279 | match NameRefClass::classify(self.sema, &name_ref) { | 280 | match NameRefClass::classify(self.sema, &name_ref) { |
280 | Some(NameRefClass::Definition(def)) if &def == self.def => { | 281 | Some(NameRefClass::Definition(def)) if &def == self.def => { |
281 | let kind = if is_record_lit_name_ref(&name_ref) || is_call_expr_name_ref(&name_ref) | 282 | let kind = |
282 | { | 283 | if name_ref.syntax().parent().and_then(ast::RecordExprField::cast).is_some() { |
283 | ReferenceKind::StructLiteral | 284 | ReferenceKind::RecordExprField |
284 | } else { | 285 | } else if is_record_lit_name_ref(&name_ref) || is_call_expr_name_ref(&name_ref) |
285 | ReferenceKind::Other | 286 | { |
286 | }; | 287 | ReferenceKind::StructLiteral |
288 | } else { | ||
289 | ReferenceKind::Other | ||
290 | }; | ||
287 | 291 | ||
288 | let reference = Reference { | 292 | let reference = Reference { |
289 | file_range: self.sema.original_range(name_ref.syntax()), | 293 | file_range: self.sema.original_range(name_ref.syntax()), |