From 19916295ad6ef8cd99e2855a322f3f54ee024490 Mon Sep 17 00:00:00 2001 From: hobostay <110hqc@gmail.com> Date: Thu, 5 Mar 2026 15:22:30 +0800 Subject: [PATCH 1/2] fix: resolve clippy warnings - Collapse nested if statements with let-else chains - Use ? operator for Option handling - Use char array in split() instead of manual comparison - Add #[allow(clippy::too_many_arguments)] for functions with many parameters Fixes the following clippy lints: - collapsible-if (3 instances) - question-mark (1 instance) - manual-pattern-char-comparison (1 instance) - too-many-arguments (2 instances) --- src/diff.rs | 14 +++++--------- src/render.rs | 4 +++- src/terminal.rs | 13 +++++-------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/diff.rs b/src/diff.rs index 5fe18b1..cf76309 100644 --- a/src/diff.rs +++ b/src/diff.rs @@ -389,14 +389,13 @@ fn detect_syntax_name(file_path: Option<&str>, lines: &[String]) -> Option, lines: &[String]) -> Option bool { if let Ok(value) = std::env::var("COLORFGBG") { let background_index = value - .split(|ch| ch == ';' || ch == ':') + .split([';', ':']) .next_back() .and_then(parse_terminal_palette_index); @@ -215,6 +215,7 @@ fn highlight_visible_content( .collect() } +#[allow(clippy::too_many_arguments)] fn format_pane_line( line_value: Option<&str>, line_index: usize, @@ -331,6 +332,7 @@ pub(crate) fn get_pane_for_column(column: usize, layout: &FrameLayout) -> Option None } +#[allow(clippy::too_many_arguments)] pub(crate) fn render_frame( files: &[DiffFileView], comparison: &ResolvedComparison, diff --git a/src/terminal.rs b/src/terminal.rs index ef4a8b1..322cdbe 100644 --- a/src/terminal.rs +++ b/src/terminal.rs @@ -144,15 +144,12 @@ pub(crate) fn start_interactive_review( Show, DisableMouseCapture, LeaveAlternateScreen - ) { - if restore_error.is_none() { - restore_error = Some(error.into()); - } + ) && restore_error.is_none() { + restore_error = Some(error.into()); } - if let Err(error) = terminal.show_cursor() { - if restore_error.is_none() { - restore_error = Some(error.into()); - } + if let Err(error) = terminal.show_cursor() + && restore_error.is_none() { + restore_error = Some(error.into()); } if let Some(error) = restore_error { From ed9bb8f0819f7c36f6be285d0b681e41302bdd4f Mon Sep 17 00:00:00 2001 From: hobostay <110hqc@gmail.com> Date: Fri, 6 Mar 2026 10:07:49 +0800 Subject: [PATCH 2/2] Run cargo fmt --- src/terminal.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/terminal.rs b/src/terminal.rs index 322cdbe..65d0869 100644 --- a/src/terminal.rs +++ b/src/terminal.rs @@ -144,11 +144,13 @@ pub(crate) fn start_interactive_review( Show, DisableMouseCapture, LeaveAlternateScreen - ) && restore_error.is_none() { + ) && restore_error.is_none() + { restore_error = Some(error.into()); } if let Err(error) = terminal.show_cursor() - && restore_error.is_none() { + && restore_error.is_none() + { restore_error = Some(error.into()); }