diff --git a/CHANGELOG.md b/CHANGELOG.md index ddefdcf5..96d9edbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # unreleased +- Fixed bug caused by using `--plain` and `--terminal-width=N` flags simultaneously, see #3529 (@H4k1l) + ## Features - Improve native man pages and command help syntax highlighting by stripping overstriking, see #3517 (@akirk) diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index 2df38f27..1ba3e73d 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -405,7 +405,7 @@ impl App { Some("character") => WrappingMode::Character, Some("never") => WrappingMode::NoWrapping(true), Some("auto") | None => { - if style_components.plain() { + if style_components.plain() && maybe_term_width.is_none() { WrappingMode::NoWrapping(false) } else { WrappingMode::Character diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 8896d9fa..bd887a2a 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -3631,3 +3631,17 @@ fn style_components_will_merge_with_env_var() { .stdout(" STDIN\n 1 test\n") .stderr(""); } + +// Test for https://github.com/sharkdp/bat/issues/3526 +#[test] +fn plain_with_sized_terminal_width() { + bat() + .arg("--plain") + .arg("--terminal-width=6") + .arg("--decorations=always") + .arg("test.txt") + .assert() + .success() + .stdout("hello \nworld\n") + .stderr(""); +}