summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormark chaitin <markchaitin@gmail.com>2021-01-06 20:17:00 -0500
committerDavid Peter <sharkdp@users.noreply.github.com>2021-01-09 15:21:26 +0100
commit83c9cb7907a7a6ea48c7c76d51e5a7b0332bf398 (patch)
tree4f30d674dc69de31acd316964df4ffb298df25e6 /src
parent7ffb04a17aeed4815d97f184ead450ceb58d6a6f (diff)
fix bug where long lines were truncated in plain mode without wrap=never not being set
Diffstat (limited to 'src')
-rw-r--r--src/bin/bat/app.rs6
-rw-r--r--src/output.rs2
-rw-r--r--src/printer.rs4
-rw-r--r--src/wrapping.rs4
4 files changed, 9 insertions, 7 deletions
diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs
index 3d0df0ec..34f3f76c 100644
--- a/src/bin/bat/app.rs
+++ b/src/bin/bat/app.rs
@@ -150,10 +150,10 @@ impl App {
wrapping_mode: if self.interactive_output || maybe_term_width.is_some() {
match self.matches.value_of("wrap") {
Some("character") => WrappingMode::Character,
- Some("never") => WrappingMode::NoWrapping,
+ Some("never") => WrappingMode::NoWrapping(true),
Some("auto") | None => {
if style_components.plain() {
- WrappingMode::NoWrapping
+ WrappingMode::NoWrapping(false)
} else {
WrappingMode::Character
}
@@ -163,7 +163,7 @@ impl App {
} else {
// We don't have the tty width when piping to another program.
// There's no point in wrapping when this is the case.
- WrappingMode::NoWrapping
+ WrappingMode::NoWrapping(false)
},
colored_output: self.matches.is_present("force-colorization")
|| match self.matches.value_of("color") {
diff --git a/src/output.rs b/src/output.rs
index 689371b9..602bc42e 100644
--- a/src/output.rs
+++ b/src/output.rs
@@ -101,7 +101,7 @@ impl OutputType {
p.arg("--quit-if-one-screen");
}
- if wrapping_mode == WrappingMode::NoWrapping {
+ if wrapping_mode == WrappingMode::NoWrapping(true) {
p.arg("--chop-long-lines");
}
diff --git a/src/printer.rs b/src/printer.rs
index a4b143d4..c4076a98 100644
--- a/src/printer.rs
+++ b/src/printer.rs
@@ -424,7 +424,9 @@ impl<'a> Printer for InteractivePrinter<'a> {
}
// Line contents.
- if self.config.wrapping_mode == WrappingMode::NoWrapping {
+ if self.config.wrapping_mode == WrappingMode::NoWrapping(false)
+ || self.config.wrapping_mode == WrappingMode::NoWrapping(true)
+ {
let true_color = self.config.true_color;
let colored_output = self.config.colored_output;
let italics = self.config.use_italic_text;
diff --git a/src/wrapping.rs b/src/wrapping.rs
index 6138606e..b854ce75 100644
--- a/src/wrapping.rs
+++ b/src/wrapping.rs
@@ -1,11 +1,11 @@
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum WrappingMode {
Character,
- NoWrapping,
+ NoWrapping(bool), // explicitly opted in or not
}
impl Default for WrappingMode {
fn default() -> Self {
- WrappingMode::NoWrapping
+ WrappingMode::NoWrapping(false)
}
}