1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
/// Represents the color preferences for program output
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
pub enum ColorChoice {
/// Enables colored output only when the output is going to a terminal or TTY.
///
/// **NOTE:** This is the default behavior of `clap`.
///
/// # Platform Specific
///
/// This setting only applies to Unix, Linux, and macOS (i.e. non-Windows platforms).
///
/// # Examples
///
#[cfg_attr(not(feature = "color"), doc = " ```ignore")]
#[cfg_attr(feature = "color", doc = " ```no_run")]
/// # use clap::{App, ColorChoice};
/// App::new("myprog")
/// .color(ColorChoice::Auto)
/// .get_matches();
/// ```
Auto,
/// Enables colored output regardless of whether or not the output is going to a terminal/TTY.
///
/// # Platform Specific
///
/// This setting only applies to Unix, Linux, and macOS (i.e. non-Windows platforms).
///
/// # Examples
///
#[cfg_attr(not(feature = "color"), doc = " ```ignore")]
#[cfg_attr(feature = "color", doc = " ```no_run")]
/// # use clap::{App, ColorChoice};
/// App::new("myprog")
/// .color(ColorChoice::Always)
/// .get_matches();
/// ```
Always,
/// Disables colored output no matter if the output is going to a terminal/TTY, or not.
///
/// # Platform Specific
///
/// This setting only applies to Unix, Linux, and macOS (i.e. non-Windows platforms)
///
/// # Examples
///
#[cfg_attr(not(feature = "color"), doc = " ```ignore")]
#[cfg_attr(feature = "color", doc = " ```no_run")]
/// # use clap::{App, ColorChoice};
/// App::new("myprog")
/// .color(ColorChoice::Never)
/// .get_matches();
/// ```
Never,
}
impl Default for ColorChoice {
fn default() -> Self {
Self::Auto
}
}
#[cfg(feature = "color")]
pub(crate) use termcolor::Color;
#[cfg(not(feature = "color"))]
#[derive(Debug)]
pub(crate) enum Color {
Green,
Yellow,
Red,
}