mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-31 15:12:12 +00:00 
			
		
		
		
	fix: display color when NO_COLOR is an empty string (#2767)
This commit is contained in:
		| @@ -4,6 +4,8 @@ | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Fix `NO_COLOR` support, see #2767 (@acuteenvy) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Upgrade to Rust 2021 edition #2748 (@cyqsimon) | ||||
|   | ||||
| @@ -29,6 +29,10 @@ fn is_truecolor_terminal() -> bool { | ||||
|         .unwrap_or(false) | ||||
| } | ||||
|  | ||||
| pub fn env_no_color() -> bool { | ||||
|     env::var_os("NO_COLOR").is_some_and(|x| !x.is_empty()) | ||||
| } | ||||
|  | ||||
| pub struct App { | ||||
|     pub matches: ArgMatches, | ||||
|     interactive_output: bool, | ||||
| @@ -207,7 +211,7 @@ impl App { | ||||
|                 || match self.matches.get_one::<String>("color").map(|s| s.as_str()) { | ||||
|                     Some("always") => true, | ||||
|                     Some("never") => false, | ||||
|                     Some("auto") => env::var_os("NO_COLOR").is_none() && self.interactive_output, | ||||
|                     Some("auto") => !env_no_color() && self.interactive_output, | ||||
|                     _ => unreachable!("other values for --color are not allowed"), | ||||
|                 }, | ||||
|             paging_mode, | ||||
|   | ||||
| @@ -19,7 +19,7 @@ static VERSION: Lazy<String> = Lazy::new(|| { | ||||
| }); | ||||
|  | ||||
| pub fn build_app(interactive_output: bool) -> Command { | ||||
|     let color_when = if interactive_output && env::var_os("NO_COLOR").is_none() { | ||||
|     let color_when = if interactive_output && !crate::app::env_no_color() { | ||||
|         ColorChoice::Auto | ||||
|     } else { | ||||
|         ColorChoice::Never | ||||
|   | ||||
		Reference in New Issue
	
	Block a user