diff options
author | Jeremy Kolb <[email protected]> | 2020-06-28 23:36:05 +0100 |
---|---|---|
committer | kjeremy <[email protected]> | 2020-07-02 22:13:02 +0100 |
commit | b98c16a034620913f3dbc67bd3f48ad2686face7 (patch) | |
tree | 10f90c96791cfd82bb160a1a5c7474ccc17d5b8b /crates/ra_assists/src/handlers/move_guard.rs | |
parent | 4cb8bf03c588dcf244d25785de3878b6ef3f7958 (diff) |
Categorize assists
Diffstat (limited to 'crates/ra_assists/src/handlers/move_guard.rs')
-rw-r--r-- | crates/ra_assists/src/handlers/move_guard.rs | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/crates/ra_assists/src/handlers/move_guard.rs b/crates/ra_assists/src/handlers/move_guard.rs index 7edcf0748..7f3aaf4f7 100644 --- a/crates/ra_assists/src/handlers/move_guard.rs +++ b/crates/ra_assists/src/handlers/move_guard.rs | |||
@@ -3,7 +3,7 @@ use ra_syntax::{ | |||
3 | SyntaxKind::WHITESPACE, | 3 | SyntaxKind::WHITESPACE, |
4 | }; | 4 | }; |
5 | 5 | ||
6 | use crate::{AssistContext, AssistId, Assists}; | 6 | use crate::{AssistContext, AssistId, AssistKind, Assists}; |
7 | 7 | ||
8 | // Assist: move_guard_to_arm_body | 8 | // Assist: move_guard_to_arm_body |
9 | // | 9 | // |
@@ -40,17 +40,23 @@ pub(crate) fn move_guard_to_arm_body(acc: &mut Assists, ctx: &AssistContext) -> | |||
40 | let buf = format!("if {} {{ {} }}", guard_conditions.syntax().text(), arm_expr.syntax().text()); | 40 | let buf = format!("if {} {{ {} }}", guard_conditions.syntax().text(), arm_expr.syntax().text()); |
41 | 41 | ||
42 | let target = guard.syntax().text_range(); | 42 | let target = guard.syntax().text_range(); |
43 | acc.add(AssistId("move_guard_to_arm_body"), "Move guard to arm body", target, |edit| { | 43 | acc.add( |
44 | match space_before_guard { | 44 | AssistId("move_guard_to_arm_body"), |
45 | Some(element) if element.kind() == WHITESPACE => { | 45 | AssistKind::RefactorExtract, |
46 | edit.delete(element.text_range()); | 46 | "Move guard to arm body", |
47 | } | 47 | target, |
48 | _ => (), | 48 | |edit| { |
49 | }; | 49 | match space_before_guard { |
50 | Some(element) if element.kind() == WHITESPACE => { | ||
51 | edit.delete(element.text_range()); | ||
52 | } | ||
53 | _ => (), | ||
54 | }; | ||
50 | 55 | ||
51 | edit.delete(guard.syntax().text_range()); | 56 | edit.delete(guard.syntax().text_range()); |
52 | edit.replace_node_and_indent(arm_expr.syntax(), buf); | 57 | edit.replace_node_and_indent(arm_expr.syntax(), buf); |
53 | }) | 58 | }, |
59 | ) | ||
54 | } | 60 | } |
55 | 61 | ||
56 | // Assist: move_arm_cond_to_match_guard | 62 | // Assist: move_arm_cond_to_match_guard |
@@ -101,6 +107,7 @@ pub(crate) fn move_arm_cond_to_match_guard(acc: &mut Assists, ctx: &AssistContex | |||
101 | let target = if_expr.syntax().text_range(); | 107 | let target = if_expr.syntax().text_range(); |
102 | acc.add( | 108 | acc.add( |
103 | AssistId("move_arm_cond_to_match_guard"), | 109 | AssistId("move_arm_cond_to_match_guard"), |
110 | AssistKind::RefactorRewrite, | ||
104 | "Move condition to match guard", | 111 | "Move condition to match guard", |
105 | target, | 112 | target, |
106 | |edit| { | 113 | |edit| { |