mirror of
https://github.com/sharkdp/bat
synced 2024-11-15 16:38:06 +00:00
Automatically disable wrapping when style is plain.
This commit is contained in:
parent
fb61aa4f60
commit
d8030626f8
2 changed files with 17 additions and 11 deletions
24
src/app.rs
24
src/app.rs
|
@ -190,11 +190,10 @@ impl App {
|
|||
.long("plain")
|
||||
.conflicts_with("style")
|
||||
.conflicts_with("number")
|
||||
.conflicts_with("wrap")
|
||||
.help("Show plain style (alias for '--style=plain' and '--wrap=never').")
|
||||
.help("Show plain style (alias for '--style=plain'.")
|
||||
.long_help(
|
||||
"Only show plain style, no decorations, no wrapping. This is an alias for \
|
||||
'--style=plain' and '--wrap=never'",
|
||||
"Only show plain style, no decorations. This is an alias for \
|
||||
'--style=plain'",
|
||||
),
|
||||
).arg(
|
||||
Arg::with_name("number")
|
||||
|
@ -264,8 +263,8 @@ impl App {
|
|||
.overrides_with("wrap")
|
||||
.takes_value(true)
|
||||
.value_name("mode")
|
||||
.possible_values(&["character", "never"])
|
||||
.default_value("character")
|
||||
.possible_values(&["auto", "never", "character"])
|
||||
.default_value("auto")
|
||||
.help("Specify the text-wrapping mode.")
|
||||
.long_help("Specify the text-wrapping mode."),
|
||||
).arg(
|
||||
|
@ -340,22 +339,24 @@ impl App {
|
|||
|
||||
pub fn config(&self) -> Result<Config> {
|
||||
let files = self.files();
|
||||
let output_components = self.output_components()?;
|
||||
|
||||
Ok(Config {
|
||||
true_color: is_truecolor_terminal(),
|
||||
output_components: self.output_components()?,
|
||||
language: self.matches.value_of("language"),
|
||||
output_wrap: if !self.interactive_output {
|
||||
// We don't have the tty width when piping to another program.
|
||||
// There's no point in wrapping when this is the case.
|
||||
OutputWrap::None
|
||||
} else if self.matches.is_present("plain") {
|
||||
// No point in wrapping when it's plain.
|
||||
OutputWrap::None
|
||||
} else {
|
||||
match self.matches.value_of("wrap") {
|
||||
Some("character") => OutputWrap::Character,
|
||||
Some("never") | _ => OutputWrap::None,
|
||||
Some("never") => OutputWrap::None,
|
||||
Some("auto") | _ => if output_components.plain() {
|
||||
OutputWrap::None
|
||||
} else {
|
||||
OutputWrap::Character
|
||||
},
|
||||
}
|
||||
},
|
||||
colored_output: match self.matches.value_of("color") {
|
||||
|
@ -397,6 +398,7 @@ impl App {
|
|||
.or_else(|| env::var("BAT_THEME").ok())
|
||||
.unwrap_or(String::from(BAT_THEME_DEFAULT)),
|
||||
line_range: transpose(self.matches.value_of("line-range").map(LineRange::from))?,
|
||||
output_components,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -78,4 +78,8 @@ impl OutputComponents {
|
|||
pub fn numbers(&self) -> bool {
|
||||
self.0.contains(&OutputComponent::Numbers)
|
||||
}
|
||||
|
||||
pub fn plain(&self) -> bool {
|
||||
self.0.is_empty()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue