diff --git a/src/app.rs b/src/app.rs index faaf90b87..5ff2c2cc9 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,10 +1,17 @@ use clap::{crate_version, App, AppSettings, Arg}; pub fn build_app() -> App<'static, 'static> { + let clap_color_setting = + if std::env::var_os("NO_COLOR").is_none() { + AppSettings::ColoredHelp + } else { + AppSettings::ColorNever + }; + let mut app = App::new("fd") .version(crate_version!()) .usage("fd [FLAGS/OPTIONS] [] [...]") - .setting(AppSettings::ColoredHelp) + .setting(clap_color_setting) .setting(AppSettings::DeriveDisplayOrder) .after_help( "Note: `fd -h` prints a short and concise overview while `fd --help` gives all \ diff --git a/src/main.rs b/src/main.rs index 235866936..bc3ce4add 100644 --- a/src/main.rs +++ b/src/main.rs @@ -377,11 +377,11 @@ fn run() -> Result { exclude_patterns: matches .values_of("exclude") .map(|v| v.map(|p| String::from("!") + p).collect()) - .unwrap_or_else(|| vec![]), + .unwrap_or_else(Vec::new), ignore_files: matches .values_of("ignore-file") .map(|vs| vs.map(PathBuf::from).collect()) - .unwrap_or_else(|| vec![]), + .unwrap_or_else(Vec::new), size_constraints: size_limits, time_constraints, #[cfg(unix)] diff --git a/src/output.rs b/src/output.rs index d2737c61f..7f4c5e0bc 100644 --- a/src/output.rs +++ b/src/output.rs @@ -4,7 +4,6 @@ use std::process; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; -use ansi_term; use lscolors::{LsColors, Style}; use crate::exit_codes::ExitCode;