Enum ColorChoice

pub enum ColorChoice

ColorChoice represents the color preferences of an end user.

The Default implementation for this type will select Auto, which tries to do the right thing based on the current environment.

The FromStr implementation for this type converts a lowercase kebab-case string of the variant name to the corresponding variant. Any other string results in an error.

Variants

Always

Try very hard to emit colors. This includes emitting ANSI colors on Windows if the console API is unavailable.

AlwaysAnsi

AlwaysAnsi is like Always, except it never tries to use anything other than emitting ANSI color codes.

Auto

Try to use colors, but don't force the issue. If the console isn't available on Windows, or if TERM=dumb, or if NO_COLOR is defined, for example, then don't use colors.

Never

Never emit colors.

Trait Implementations

impl Clone for ColorChoice

fn clone(&self) -> ColorChoice

impl Copy for ColorChoice

impl Debug for ColorChoice

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Default for ColorChoice

fn default() -> ColorChoice

impl Eq for ColorChoice

impl FromStr for ColorChoice

type Err = ColorChoiceParseError;
fn from_str(s: &str) -> Result<ColorChoice, ColorChoiceParseError>

impl PartialEq for ColorChoice

fn eq(&self, other: &ColorChoice) -> bool

impl StructuralPartialEq for ColorChoice

Auto Trait Implementations

impl Freeze for ColorChoice

impl RefUnwindSafe for ColorChoice

impl Send for ColorChoice

impl Sync for ColorChoice

impl Unpin for ColorChoice

impl UnsafeUnpin for ColorChoice

impl UnwindSafe for ColorChoice

Blanket Implementations

impl<T> Any for ColorChoice where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for ColorChoice where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for ColorChoice where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for ColorChoice where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for ColorChoice

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for ColorChoice where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for ColorChoice where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for ColorChoice where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for ColorChoice where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>