From 96b8b228439ff14186c2e094b194c721efe180fd Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Wed, 24 Dec 2025 09:58:35 -0500 Subject: [PATCH 1/2] use `Option` chaining in `index_of_prev_newline` --- librubyfmt/src/render_targets.rs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/librubyfmt/src/render_targets.rs b/librubyfmt/src/render_targets.rs index b388fd03..43560a6d 100644 --- a/librubyfmt/src/render_targets.rs +++ b/librubyfmt/src/render_targets.rs @@ -62,22 +62,19 @@ pub trait AbstractTokenTarget: std::fmt::Debug { } fn index_of_prev_newline(&self) -> Option { - let first_idx = self - .tokens() + self.tokens() .iter() - .rposition(|v| v.is_newline() || v.is_comment()); - match first_idx { - Some(x) => { - if matches!(self.tokens()[x], AbstractLineToken::CollapsingNewLine(_)) - || matches!(self.tokens()[x], AbstractLineToken::SoftNewline(_)) + .rposition(|v| v.is_newline() || v.is_comment()) + .and_then(|x| { + let token = &self.tokens()[x]; + if matches!(token, AbstractLineToken::CollapsingNewLine(_)) + || matches!(token, AbstractLineToken::SoftNewline(_)) { Some(x + 1) } else { Some(x) } - } - None => None, - } + }) } fn last_token_is_a_newline(&self) -> bool { From b4fc676d09bee89cb672580b8671d2ac45ac1128 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Wed, 24 Dec 2025 10:12:15 -0500 Subject: [PATCH 2/2] clippy --- librubyfmt/src/render_targets.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/librubyfmt/src/render_targets.rs b/librubyfmt/src/render_targets.rs index 43560a6d..7c9991c4 100644 --- a/librubyfmt/src/render_targets.rs +++ b/librubyfmt/src/render_targets.rs @@ -65,14 +65,14 @@ pub trait AbstractTokenTarget: std::fmt::Debug { self.tokens() .iter() .rposition(|v| v.is_newline() || v.is_comment()) - .and_then(|x| { + .map(|x| { let token = &self.tokens()[x]; if matches!(token, AbstractLineToken::CollapsingNewLine(_)) || matches!(token, AbstractLineToken::SoftNewline(_)) { - Some(x + 1) + x + 1 } else { - Some(x) + x } }) }