aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/flip_comma.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_assists/src/flip_comma.rs')
-rw-r--r--crates/ra_assists/src/flip_comma.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/crates/ra_assists/src/flip_comma.rs b/crates/ra_assists/src/flip_comma.rs
index 33da58f17..08644d720 100644
--- a/crates/ra_assists/src/flip_comma.rs
+++ b/crates/ra_assists/src/flip_comma.rs
@@ -6,15 +6,17 @@ use ra_syntax::{
6 6
7use crate::{AssistCtx, Assist, non_trivia_sibling}; 7use crate::{AssistCtx, Assist, non_trivia_sibling};
8 8
9pub(crate) fn flip_comma(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> { 9pub(crate) fn flip_comma(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
10 let comma = ctx.leaf_at_offset().find(|leaf| leaf.kind() == COMMA)?; 10 let comma = ctx.leaf_at_offset().find(|leaf| leaf.kind() == COMMA)?;
11 let prev = non_trivia_sibling(comma, Direction::Prev)?; 11 let prev = non_trivia_sibling(comma, Direction::Prev)?;
12 let next = non_trivia_sibling(comma, Direction::Next)?; 12 let next = non_trivia_sibling(comma, Direction::Next)?;
13 ctx.build("flip comma", |edit| { 13 ctx.add_action("flip comma", |edit| {
14 edit.target(comma.range()); 14 edit.target(comma.range());
15 edit.replace(prev.range(), next.text()); 15 edit.replace(prev.range(), next.text());
16 edit.replace(next.range(), prev.text()); 16 edit.replace(next.range(), prev.text());
17 }) 17 });
18
19 ctx.build()
18} 20}
19 21
20#[cfg(test)] 22#[cfg(test)]