diff options
Diffstat (limited to 'crates/ra_assists/src/remove_dbg.rs')
-rw-r--r-- | crates/ra_assists/src/remove_dbg.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/crates/ra_assists/src/remove_dbg.rs b/crates/ra_assists/src/remove_dbg.rs index 40f97a849..e9d0a635b 100644 --- a/crates/ra_assists/src/remove_dbg.rs +++ b/crates/ra_assists/src/remove_dbg.rs | |||
@@ -47,6 +47,7 @@ pub(crate) fn remove_dbg(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> { | |||
47 | }; | 47 | }; |
48 | 48 | ||
49 | ctx.build("remove dbg!()", |edit| { | 49 | ctx.build("remove dbg!()", |edit| { |
50 | edit.target(macro_call.syntax().range()); | ||
50 | edit.replace(macro_range, macro_content); | 51 | edit.replace(macro_range, macro_content); |
51 | edit.set_cursor(cursor_pos); | 52 | edit.set_cursor(cursor_pos); |
52 | }) | 53 | }) |
@@ -78,7 +79,7 @@ fn is_valid_macrocall(macro_call: &ast::MacroCall, macro_name: &str) -> Option<b | |||
78 | #[cfg(test)] | 79 | #[cfg(test)] |
79 | mod tests { | 80 | mod tests { |
80 | use super::*; | 81 | use super::*; |
81 | use crate::helpers::{check_assist, check_assist_not_applicable}; | 82 | use crate::helpers::{check_assist, check_assist_not_applicable, check_assist_target}; |
82 | 83 | ||
83 | #[test] | 84 | #[test] |
84 | fn test_remove_dbg() { | 85 | fn test_remove_dbg() { |
@@ -120,4 +121,19 @@ fn foo(n: usize) { | |||
120 | check_assist_not_applicable(remove_dbg, "<|>dbg(5, 6, 7)"); | 121 | check_assist_not_applicable(remove_dbg, "<|>dbg(5, 6, 7)"); |
121 | check_assist_not_applicable(remove_dbg, "<|>dbg!(5, 6, 7"); | 122 | check_assist_not_applicable(remove_dbg, "<|>dbg!(5, 6, 7"); |
122 | } | 123 | } |
124 | |||
125 | #[test] | ||
126 | fn remove_dbg_target() { | ||
127 | check_assist_target( | ||
128 | remove_dbg, | ||
129 | " | ||
130 | fn foo(n: usize) { | ||
131 | if let Some(_) = dbg!(n.<|>checked_sub(4)) { | ||
132 | // ... | ||
133 | } | ||
134 | } | ||
135 | ", | ||
136 | "dbg!(n.checked_sub(4))", | ||
137 | ); | ||
138 | } | ||
123 | } | 139 | } |