Add support for NO_COLOR env var (#1021)

This commit is contained in:
Ethan P 2020-05-27 16:38:43 -07:00 committed by David Peter
parent 6f88ba0e6f
commit 8b481dd41f
3 changed files with 6 additions and 2 deletions

View File

@ -1,6 +1,9 @@
# unreleased
## Features
- Added support for the `NO_COLOR` environment variable, see #1021 and #1031 (@eth-p)
## Bugfixes
## Other
## New syntaxes

View File

@ -165,7 +165,7 @@ impl App {
colored_output: match self.matches.value_of("color") {
Some("always") => true,
Some("never") => false,
Some("auto") | _ => self.interactive_output,
Some("auto") | _ => env::var_os("NO_COLOR").is_none() && self.interactive_output,
},
paging_mode,
term_width: maybe_term_width.unwrap_or(Term::stdout().size().1 as usize),

View File

@ -1,8 +1,9 @@
use clap::{crate_name, crate_version, App as ClapApp, AppSettings, Arg, ArgGroup, SubCommand};
use std::env;
use std::path::Path;
pub fn build_app(interactive_output: bool) -> ClapApp<'static, 'static> {
let clap_color_setting = if interactive_output {
let clap_color_setting = if interactive_output && env::var_os("NO_COLOR").is_none() {
AppSettings::ColoredHelp
} else {
AppSettings::ColorNever