Skip to content

Commit

Permalink
Fixed inverted logic on -S and --chop-long-lines
Browse files Browse the repository at this point in the history
  • Loading branch information
johnmatthiggins committed Oct 14, 2022
1 parent 03216c9 commit 236a2c5
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 38 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# unreleased

## Features
- Implemented `-S` and `--chop-long-lines` flags as aliases for `--wrap=character`. See #2309 (@johnmatthiggins)

## Bugfixes

Expand Down
2 changes: 1 addition & 1 deletion src/bin/bat/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ impl App {
_ => unreachable!("other values for --wrap are not allowed"),
}
} else {
WrappingMode::Character
WrappingMode::NoWrapping(true)
}
} else {
// We don't have the tty width when piping to another program.
Expand Down
2 changes: 1 addition & 1 deletion src/bin/bat/clap_app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ pub fn build_app(interactive_output: bool) -> Command<'static> {
.long("chop-long-lines")
.short('S')
.takes_value(false)
.help("Truncate all lines longer than screen width. Alias for '--wrap=never'."),
.help("Truncate all lines longer than screen width. Alias for '--wrap=character'."),
)
.arg(
Arg::new("terminal-width")
Expand Down
51 changes: 15 additions & 36 deletions tests/integration_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1501,17 +1501,12 @@ fn ignored_suffix_arg() {

#[test]
fn no_line_wrapping_when_set_to_never() {
let expected =
"───────┬────────────────────────────────────────────────────────────────────────
│ File: 80-columns.txt
│ Size: 101 B
───────┼────────────────────────────────────────────────────────────────────────
1 │ abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz
───────┴────────────────────────────────────────────────────────────────────────
let expected = "abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz
";

bat()
.arg("--style=full")
.arg("--style=rule")
.arg("--color=never")
.arg("--decorations=always")
.arg("--wrap=never")
.arg("--terminal-width=80")
Expand All @@ -1525,17 +1520,13 @@ fn no_line_wrapping_when_set_to_never() {
#[test]
fn line_wrapping_when_auto() {
let expected =
"───────┬────────────────────────────────────────────────────────────────────────
│ File: 80-columns.txt
│ Size: 101 B
───────┼────────────────────────────────────────────────────────────────────────
1 │ abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstu
│ vxyzabcdefghigklmnopqrstuvxyz
───────┴────────────────────────────────────────────────────────────────────────
"abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcde
fghigklmnopqrstuvxyz
";

bat()
.arg("--style=full")
.arg("--color=never")
.arg("--style=rule")
.arg("--decorations=always")
.arg("--wrap=auto")
.arg("--terminal-width=80")
Expand All @@ -1547,19 +1538,13 @@ fn line_wrapping_when_auto() {
}

#[test]
fn line_wrapping_with_s_flag() {
fn no_line_wrapping_with_s_flag() {
let expected =
"───────┬────────────────────────────────────────────────────────────────────────
│ File: 80-columns.txt
│ Size: 101 B
───────┼────────────────────────────────────────────────────────────────────────
1 │ abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstu
│ vxyzabcdefghigklmnopqrstuvxyz
───────┴────────────────────────────────────────────────────────────────────────
";
"abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz\n";

bat()
.arg("--style=full")
.arg("--color=never")
.arg("--style=rule")
.arg("--decorations=always")
.arg("-S")
.arg("--terminal-width=80")
Expand All @@ -1571,19 +1556,13 @@ fn line_wrapping_with_s_flag() {
}

#[test]
fn chop_long_lines_when_specified() {
fn no_wrapping_with_chop_long_lines() {
let expected =
"───────┬────────────────────────────────────────────────────────────────────────
│ File: 80-columns.txt
│ Size: 101 B
───────┼────────────────────────────────────────────────────────────────────────
1 │ abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstu
│ vxyzabcdefghigklmnopqrstuvxyz
───────┴────────────────────────────────────────────────────────────────────────
";
"abcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyzabcdefghigklmnopqrstuvxyz\n";

bat()
.arg("--style=full")
.arg("--color=never")
.arg("--style=rule")
.arg("--decorations=always")
.arg("--chop-long-lines")
.arg("--terminal-width=80")
Expand Down

0 comments on commit 236a2c5

Please sign in to comment.