aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/assists/flip_comma.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_assists/src/assists/flip_comma.rs')
-rw-r--r--crates/ra_assists/src/assists/flip_comma.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/crates/ra_assists/src/assists/flip_comma.rs b/crates/ra_assists/src/assists/flip_comma.rs
index e31cc5e7d..d06c5a0e1 100644
--- a/crates/ra_assists/src/assists/flip_comma.rs
+++ b/crates/ra_assists/src/assists/flip_comma.rs
@@ -1,10 +1,23 @@
1//! FIXME: write short doc here
2
3use hir::db::HirDatabase; 1use hir::db::HirDatabase;
4use ra_syntax::{algo::non_trivia_sibling, Direction, T}; 2use ra_syntax::{algo::non_trivia_sibling, Direction, T};
5 3
6use crate::{Assist, AssistCtx, AssistId}; 4use crate::{Assist, AssistCtx, AssistId};
7 5
6// Assist: flip_comma
7//
8// Flips two comma-separated items.
9//
10// ```
11// fn main() {
12// ((1, 2),<|> (3, 4));
13// }
14// ```
15// ->
16// ```
17// fn main() {
18// ((3, 4), (1, 2));
19// }
20// ```
8pub(crate) fn flip_comma(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> { 21pub(crate) fn flip_comma(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
9 let comma = ctx.token_at_offset().find(|leaf| leaf.kind() == T![,])?; 22 let comma = ctx.token_at_offset().find(|leaf| leaf.kind() == T![,])?;
10 let prev = non_trivia_sibling(comma.clone().into(), Direction::Prev)?; 23 let prev = non_trivia_sibling(comma.clone().into(), Direction::Prev)?;