Trait owo_colors::OwoColorize[][src]

pub trait OwoColorize: Sized {
    fn fg<'a, C: Color>(&'a self) -> FgColorDisplay<'a, C, Self> { ... }
fn bg<'a, C: Color>(&'a self) -> BgColorDisplay<'a, C, Self> { ... }
fn black<'a>(&'a self) -> FgColorDisplay<'a, Black, Self> { ... }
fn on_black<'a>(&'a self) -> BgColorDisplay<'a, Black, Self> { ... }
fn red<'a>(&'a self) -> FgColorDisplay<'a, Red, Self> { ... }
fn on_red<'a>(&'a self) -> BgColorDisplay<'a, Red, Self> { ... }
fn green<'a>(&'a self) -> FgColorDisplay<'a, Green, Self> { ... }
fn on_green<'a>(&'a self) -> BgColorDisplay<'a, Green, Self> { ... }
fn yellow<'a>(&'a self) -> FgColorDisplay<'a, Yellow, Self> { ... }
fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self> { ... }
fn blue<'a>(&'a self) -> FgColorDisplay<'a, Blue, Self> { ... }
fn on_blue<'a>(&'a self) -> BgColorDisplay<'a, Blue, Self> { ... }
fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self> { ... }
fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self> { ... }
fn purple<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self> { ... }
fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self> { ... }
fn cyan<'a>(&'a self) -> FgColorDisplay<'a, Cyan, Self> { ... }
fn on_cyan<'a>(&'a self) -> BgColorDisplay<'a, Cyan, Self> { ... }
fn white<'a>(&'a self) -> FgColorDisplay<'a, White, Self> { ... }
fn on_white<'a>(&'a self) -> BgColorDisplay<'a, White, Self> { ... }
fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self> { ... }
fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self> { ... }
fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self> { ... }
fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self> { ... }
fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self> { ... }
fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self> { ... }
fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self> { ... }
fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self> { ... }
fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self> { ... }
fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self> { ... }
fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self> { ... }
fn on_bright_magenta<'a>(
        &'a self
    ) -> BgColorDisplay<'a, BrightMagenta, Self> { ... }
fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self> { ... }
fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self> { ... }
fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self> { ... }
fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self> { ... }
fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self> { ... }
fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self> { ... }
fn bold<'a>(&'a self) -> BoldDisplay<'a, Self> { ... }
fn dimmed<'a>(&'a self) -> DimDisplay<'a, Self> { ... }
fn italic<'a>(&'a self) -> ItalicDisplay<'a, Self> { ... }
fn underline<'a>(&'a self) -> UnderlineDisplay<'a, Self> { ... }
fn blink<'a>(&'a self) -> BlinkDisplay<'a, Self> { ... }
fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self> { ... }
fn reversed<'a>(&'a self) -> ReversedDisplay<'a, Self> { ... }
fn hidden<'a>(&'a self) -> HiddenDisplay<'a, Self> { ... }
fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self> { ... }
fn color<'a, Color: DynColor>(
        &'a self,
        color: Color
    ) -> FgDynColorDisplay<'a, Color, Self> { ... }
fn on_color<'a, Color: DynColor>(
        &'a self,
        color: Color
    ) -> BgDynColorDisplay<'a, Color, Self> { ... }
fn fg_rgb<'a, const R: u8, const G: u8, const B: u8>(
        &'a self
    ) -> FgColorDisplay<'a, CustomColor<R, G, B>, Self> { ... }
fn bg_rgb<'a, const R: u8, const G: u8, const B: u8>(
        &'a self
    ) -> BgColorDisplay<'a, CustomColor<R, G, B>, Self> { ... }
fn truecolor<'a>(
        &'a self,
        r: u8,
        g: u8,
        b: u8
    ) -> FgDynColorDisplay<'a, Rgb, Self> { ... }
fn on_truecolor<'a>(
        &'a self,
        r: u8,
        g: u8,
        b: u8
    ) -> BgDynColorDisplay<'a, Rgb, Self> { ... }
fn style(&self, style: Style) -> Styled<&Self> { ... }
fn if_stdout_tty<'a, Out, ApplyFn>(
        &'a self,
        apply: ApplyFn
    ) -> TtyDisplay<'a, StdOut, Self, Out, ApplyFn>
    where
        ApplyFn: Fn(&'a Self) -> Out
, { ... }
fn if_stderr_tty<'a, Out, ApplyFn>(
        &'a self,
        apply: ApplyFn
    ) -> TtyDisplay<'a, StdErr, Self, Out, ApplyFn>
    where
        ApplyFn: Fn(&'a Self) -> Out
, { ... } }

Extension trait for colorizing a type which implements any std formatter (Display, Debug, UpperHex, etc.)

Example

use owo_colors::OwoColorize;

fn main() {
    println!("My number is {:#x}!", 10.green());
    println!("My number is not {}!", 4.on_red());
}

How to decide which method to use

Do you have a specific color you want to use?

Use the specific color’s method, such as blue or on_green.

Do you want your colors configurable via generics?

Use fg and bg to make it compile-time configurable.

Do you need to pick a color at runtime?

Use the color, on_color, truecolor or on_truecolor.

Do you need some other text modifier?

Do you want it to only display colors if it’s a terminal?

  1. Enable the tty feature
  2. Colorize inside if_stdout_tty or if_stdout_tty

Provided methods

fn fg<'a, C: Color>(&'a self) -> FgColorDisplay<'a, C, Self>[src]

Set the foreground color generically

use owo_colors::{OwoColorize, colors::*};

println!("{}", "red foreground".fg::<Red>());

fn bg<'a, C: Color>(&'a self) -> BgColorDisplay<'a, C, Self>[src]

Set the background color generically.

use owo_colors::{OwoColorize, colors::*};

println!("{}", "black background".bg::<Black>());

fn black<'a>(&'a self) -> FgColorDisplay<'a, Black, Self>[src]

Change the foreground color to black

fn on_black<'a>(&'a self) -> BgColorDisplay<'a, Black, Self>[src]

Change the foreground color to black

fn red<'a>(&'a self) -> FgColorDisplay<'a, Red, Self>[src]

Change the foreground color to red

fn on_red<'a>(&'a self) -> BgColorDisplay<'a, Red, Self>[src]

Change the foreground color to red

fn green<'a>(&'a self) -> FgColorDisplay<'a, Green, Self>[src]

Change the foreground color to green

fn on_green<'a>(&'a self) -> BgColorDisplay<'a, Green, Self>[src]

Change the foreground color to green

fn yellow<'a>(&'a self) -> FgColorDisplay<'a, Yellow, Self>[src]

Change the foreground color to yellow

fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>[src]

Change the foreground color to yellow

fn blue<'a>(&'a self) -> FgColorDisplay<'a, Blue, Self>[src]

Change the foreground color to blue

fn on_blue<'a>(&'a self) -> BgColorDisplay<'a, Blue, Self>[src]

Change the foreground color to blue

fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>[src]

Change the foreground color to magenta

fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>[src]

Change the foreground color to magenta

fn purple<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>[src]

Change the foreground color to purple

fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>[src]

Change the foreground color to purple

fn cyan<'a>(&'a self) -> FgColorDisplay<'a, Cyan, Self>[src]

Change the foreground color to cyan

fn on_cyan<'a>(&'a self) -> BgColorDisplay<'a, Cyan, Self>[src]

Change the foreground color to cyan

fn white<'a>(&'a self) -> FgColorDisplay<'a, White, Self>[src]

Change the foreground color to white

fn on_white<'a>(&'a self) -> BgColorDisplay<'a, White, Self>[src]

Change the foreground color to white

fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>[src]

Change the foreground color to bright black

fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>[src]

Change the foreground color to bright black

fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>[src]

Change the foreground color to bright red

fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>[src]

Change the foreground color to bright red

fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>[src]

Change the foreground color to bright green

fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>[src]

Change the foreground color to bright green

fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>[src]

Change the foreground color to bright yellow

fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>[src]

Change the foreground color to bright yellow

fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>[src]

Change the foreground color to bright blue

fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>[src]

Change the foreground color to bright blue

fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>[src]

Change the foreground color to bright magenta

fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>[src]

Change the foreground color to bright magenta

fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>[src]

Change the foreground color to bright purple

fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>[src]

Change the foreground color to bright purple

fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>[src]

Change the foreground color to bright cyan

fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>[src]

Change the foreground color to bright cyan

fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>[src]

Change the foreground color to bright white

fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>[src]

Change the foreground color to bright white

fn bold<'a>(&'a self) -> BoldDisplay<'a, Self>[src]

Make the text bold

fn dimmed<'a>(&'a self) -> DimDisplay<'a, Self>[src]

Make the text dim

fn italic<'a>(&'a self) -> ItalicDisplay<'a, Self>[src]

Make the text italicized

fn underline<'a>(&'a self) -> UnderlineDisplay<'a, Self>[src]

Make the text italicized

Make the text blink

Make the text blink (but fast!)

fn reversed<'a>(&'a self) -> ReversedDisplay<'a, Self>[src]

Swap the foreground and background colors

fn hidden<'a>(&'a self) -> HiddenDisplay<'a, Self>[src]

Hide the text

fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>[src]

Cross out the text

fn color<'a, Color: DynColor>(
    &'a self,
    color: Color
) -> FgDynColorDisplay<'a, Color, Self>
[src]

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green,

use owo_colors::{OwoColorize, AnsiColors};

fn main() {
    println!("{}", "green".color(AnsiColors::Green));
}

fn on_color<'a, Color: DynColor>(
    &'a self,
    color: Color
) -> BgDynColorDisplay<'a, Color, Self>
[src]

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow,

use owo_colors::{OwoColorize, AnsiColors};

fn main() {
    println!("{}", "yellow background".on_color(AnsiColors::BrightYellow));
}

fn fg_rgb<'a, const R: u8, const G: u8, const B: u8>(
    &'a self
) -> FgColorDisplay<'a, CustomColor<R, G, B>, Self>
[src]

Set the foreground color to a specific RGB value.

fn bg_rgb<'a, const R: u8, const G: u8, const B: u8>(
    &'a self
) -> BgColorDisplay<'a, CustomColor<R, G, B>, Self>
[src]

Set the background color to a specific RGB value.

fn truecolor<'a>(
    &'a self,
    r: u8,
    g: u8,
    b: u8
) -> FgDynColorDisplay<'a, Rgb, Self>
[src]

Sets the foreground color to an RGB value.

fn on_truecolor<'a>(
    &'a self,
    r: u8,
    g: u8,
    b: u8
) -> BgDynColorDisplay<'a, Rgb, Self>
[src]

Sets the background color to an RGB value.

fn style(&self, style: Style) -> Styled<&Self>[src]

Apply a runtime-determined style

fn if_stdout_tty<'a, Out, ApplyFn>(
    &'a self,
    apply: ApplyFn
) -> TtyDisplay<'a, StdOut, Self, Out, ApplyFn> where
    ApplyFn: Fn(&'a Self) -> Out, 
[src]

Apply a given transformation function to all formatters if stdout is a tty console allowing you to conditionally apply given styles/colors.

Requires the tty feature.

use owo_colors::{OwoColorize, Style};

fn main() {
    println!(
        "{}",
        "bright cyan if this is terminal output"
            .if_stdout_tty(|text| text.bright_cyan())
    );

    // applying multiple at both
    println!(
        "{}",
        "bright cyan AND underlined(?!) if this is terminal output"
            .if_stdout_tty(|text| text.style(
                Style::new()
                    .bright_cyan()
                    .underline()
            ))
    );
}

fn if_stderr_tty<'a, Out, ApplyFn>(
    &'a self,
    apply: ApplyFn
) -> TtyDisplay<'a, StdErr, Self, Out, ApplyFn> where
    ApplyFn: Fn(&'a Self) -> Out, 
[src]

Apply a given transformation function to all formatters if stderr is a tty console allowing you to conditionally apply given styles/colors.

Requires the tty feature.

use owo_colors::OwoColorize;

fn main() {
    eprintln!(
        "{}",
        "woah! error! if this is terminal output, it's red"
            .if_stderr_tty(|text| text.bright_red())
    );
}
Loading content...

Implementors

impl<D: Sized> OwoColorize for D[src]

Loading content...