Skip to main content

ColorSpec

Enum ColorSpec 

Source
pub enum ColorSpec {
    Reset,
    PaletteIndex(PaletteIndex),
    TrueColor(RgbaColor),
}
Expand description

Terminal color specification for Sgr color commands.

This is the common color input type for foreground, background, and underline colors. Named ANSI colors and 256-color palette values use Self::PaletteIndex; true-color values use Self::TrueColor; Self::Reset returns the terminal color to its default.

use termina::{
    escape::csi::{Csi, Sgr},
    style::{ColorSpec, RgbColor},
};

assert_eq!(Csi::Sgr(Sgr::Foreground(ColorSpec::RED)).to_string(), "\x1b[31m");

let blue = ColorSpec::from(RgbColor::new(0, 0, 255));
assert_eq!(Csi::Sgr(Sgr::Foreground(blue)).to_string(), "\x1b[38;2;0;0;255m");

Variants§

§

Reset

Reset the color back to the terminal default.

For SGR foreground and background colors this formats as the standard reset color codes rather than as an indexed palette color.

§

PaletteIndex(PaletteIndex)

Use an indexed palette color.

Values 0-15 address the standard ANSI palette. Values 16-255 address the 256-color extension palette described by WebColor.

§

TrueColor(RgbaColor)

Use a true-color red, green, blue, and alpha value.

Red, green, and blue values format using SGR true-color parameters. Non-opaque alpha uses the colon form from ITU T.416-style color notation.

Implementations§

Source§

impl ColorSpec

Source

pub const BLACK: Self

Standard black palette color.

Source

pub const RED: Self

Standard red palette color.

Source

pub const GREEN: Self

Standard green palette color.

Source

pub const YELLOW: Self

Standard yellow palette color.

Source

pub const BLUE: Self

Standard blue palette color.

Source

pub const MAGENTA: Self

Standard magenta palette color.

Source

pub const CYAN: Self

Standard cyan palette color.

Source

pub const WHITE: Self

Standard white palette color.

Source

pub const BRIGHT_BLACK: Self

Bright black palette color.

Source

pub const BRIGHT_RED: Self

Bright red palette color.

Source

pub const BRIGHT_GREEN: Self

Bright green palette color.

Source

pub const BRIGHT_YELLOW: Self

Bright yellow palette color.

Source

pub const BRIGHT_BLUE: Self

Bright blue palette color.

Source

pub const BRIGHT_MAGENTA: Self

Bright magenta palette color.

Source

pub const BRIGHT_CYAN: Self

Bright cyan palette color.

Source

pub const BRIGHT_WHITE: Self

Bright white palette color.

Trait Implementations§

Source§

impl Clone for ColorSpec

Source§

fn clone(&self) -> ColorSpec

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ColorSpec

Source§

impl Debug for ColorSpec

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for ColorSpec

Source§

impl From<AnsiColor> for ColorSpec

Source§

fn from(color: AnsiColor) -> Self

Converts to this type from the input type.
Source§

impl From<RgbColor> for ColorSpec

Source§

fn from(color: RgbColor) -> Self

Converts to this type from the input type.
Source§

impl From<RgbaColor> for ColorSpec

Source§

fn from(color: RgbaColor) -> Self

Converts to this type from the input type.
Source§

impl From<WebColor> for ColorSpec

Source§

fn from(color: WebColor) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for ColorSpec

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ColorSpec

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.