diff options
Diffstat (limited to 'crates/ra_assists/src/add_derive.rs')
-rw-r--r-- | crates/ra_assists/src/add_derive.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/crates/ra_assists/src/add_derive.rs b/crates/ra_assists/src/add_derive.rs index caf21e079..ea9707631 100644 --- a/crates/ra_assists/src/add_derive.rs +++ b/crates/ra_assists/src/add_derive.rs | |||
@@ -24,6 +24,7 @@ pub(crate) fn add_derive(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> { | |||
24 | } | 24 | } |
25 | Some(tt) => tt.syntax().range().end() - TextUnit::of_char(')'), | 25 | Some(tt) => tt.syntax().range().end() - TextUnit::of_char(')'), |
26 | }; | 26 | }; |
27 | edit.target(nominal.syntax().range()); | ||
27 | edit.set_cursor(offset) | 28 | edit.set_cursor(offset) |
28 | }) | 29 | }) |
29 | } | 30 | } |
@@ -38,7 +39,7 @@ fn derive_insertion_offset(nominal: &ast::NominalDef) -> Option<TextUnit> { | |||
38 | #[cfg(test)] | 39 | #[cfg(test)] |
39 | mod tests { | 40 | mod tests { |
40 | use super::*; | 41 | use super::*; |
41 | use crate::helpers::check_assist; | 42 | use crate::helpers::{check_assist, check_assist_target}; |
42 | 43 | ||
43 | #[test] | 44 | #[test] |
44 | fn add_derive_new() { | 45 | fn add_derive_new() { |
@@ -80,4 +81,21 @@ struct Foo { a: i32, } | |||
80 | ", | 81 | ", |
81 | ); | 82 | ); |
82 | } | 83 | } |
84 | |||
85 | #[test] | ||
86 | fn add_derive_target() { | ||
87 | check_assist_target( | ||
88 | add_derive, | ||
89 | " | ||
90 | struct SomeThingIrrelevant; | ||
91 | /// `Foo` is a pretty important struct. | ||
92 | /// It does stuff. | ||
93 | struct Foo { a: i32<|>, } | ||
94 | struct EvenMoreIrrelevant; | ||
95 | ", | ||
96 | "/// `Foo` is a pretty important struct. | ||
97 | /// It does stuff. | ||
98 | struct Foo { a: i32, }", | ||
99 | ); | ||
100 | } | ||
83 | } | 101 | } |