diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index fed45ab6..54578087 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -400,7 +400,6 @@ impl App { _ => unreachable!("other values for --binary are not allowed"), }, wrapping_mode: { - // Check for explicit flags first (--chop-long-lines or --wrap) if self.matches.get_flag("chop-long-lines") { WrappingMode::NoWrapping(true) } else { @@ -408,7 +407,6 @@ impl App { Some("character") => WrappingMode::Character, Some("never") => WrappingMode::NoWrapping(true), Some("auto") | None => { - // For "auto" or default mode, respect interactive_output setting if self.interactive_output || maybe_term_width.is_some() { if style_components.plain() && maybe_term_width.is_none() { WrappingMode::NoWrapping(false) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 4235080f..6e99990b 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -2884,15 +2884,11 @@ fn no_wrapping_with_chop_long_lines() { wrapping_test("--chop-long-lines", false); } -// Regression test for issue #3587: --wrap=never should be respected when paging is enabled -// The fix ensures that bat respects the --wrap=never flag even when output is piped to a pager -// by passing the -S flag to less to disable wrapping in the pager #[test] #[serial] fn wrap_never_flag_respected_with_paging_always() { mocked_pagers::with_mocked_versions_of_more_and_most_in_path(|| { bat() - // Use cat as pager to pass through the output (avoiding the echo pager issue) .arg("--pager=cat") .arg("--paging=always") .arg("--wrap=never") @@ -2902,19 +2898,16 @@ fn wrap_never_flag_respected_with_paging_always() { .write_stdin("abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz\n") .assert() .success() - // With --wrap=never and cat pager, the line should NOT wrap .stdout(predicate::str::contains("abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz").normalize()) .stderr(""); }); } -// Regression test for issue #3587: -S flag should be respected when paging is enabled #[test] #[serial] fn s_flag_respected_with_paging_always() { mocked_pagers::with_mocked_versions_of_more_and_most_in_path(|| { bat() - // Use cat as pager to pass through the output .arg("--pager=cat") .arg("--paging=always") .arg("-S") @@ -2924,7 +2917,6 @@ fn s_flag_respected_with_paging_always() { .write_stdin("abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz\n") .assert() .success() - // With -S flag and cat pager, the line should NOT wrap .stdout(predicate::str::contains("abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz").normalize()) .stderr(""); });