owo_colors

Trait OwoColorize

source
pub trait OwoColorize: Sized {
Show 57 methods // Provided methods fn fg<C: Color>(&self) -> FgColorDisplay<'_, C, Self> { ... } fn bg<C: Color>(&self) -> BgColorDisplay<'_, 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 default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self> { ... } fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, 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<Color: DynColor>( &self, color: Color, ) -> FgDynColorDisplay<'_, Color, Self> { ... } fn on_color<Color: DynColor>( &self, color: Color, ) -> BgDynColorDisplay<'_, Color, Self> { ... } fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self> { ... } fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self> { ... } fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self> { ... } fn on_truecolor( &self, r: u8, g: u8, b: u8, ) -> BgDynColorDisplay<'_, Rgb, Self> { ... } fn style(&self, style: Style) -> Styled<&Self> { ... } fn if_supports_color<'a, Out, ApplyFn>( &'a self, stream: Stream, apply: ApplyFn, ) -> SupportsColorsDisplay<'a, Self, Out, ApplyFn> where ApplyFn: Fn(&'a Self) -> Out { ... }
}
Expand description

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

§Example

use owo_colors::OwoColorize;

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 supports-colors feature
  2. Colorize inside if_supports_color

Do you need to store a set of colors/effects to apply to multiple things?

Use style to apply a Style

Provided Methods§

source

fn fg<C: Color>(&self) -> FgColorDisplay<'_, C, Self>

Set the foreground color generically

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

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

fn bg<C: Color>(&self) -> BgColorDisplay<'_, C, Self>

Set the background color generically.

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

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

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

Change the foreground color to black

source

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

Change the background color to black

source

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

Change the foreground color to red

source

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

Change the background color to red

source

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

Change the foreground color to green

source

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

Change the background color to green

source

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

Change the foreground color to yellow

source

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

Change the background color to yellow

source

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

Change the foreground color to blue

source

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

Change the background color to blue

source

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

Change the foreground color to magenta

source

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

Change the background color to magenta

source

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

Change the foreground color to purple

source

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

Change the background color to purple

source

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

Change the foreground color to cyan

source

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

Change the background color to cyan

source

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

Change the foreground color to white

source

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

Change the background color to white

source

fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>

Change the foreground color to the terminal default

source

fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>

Change the background color to the terminal default

source

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

Change the foreground color to bright black

source

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

Change the background color to bright black

source

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

Change the foreground color to bright red

source

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

Change the background color to bright red

source

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

Change the foreground color to bright green

source

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

Change the background color to bright green

source

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

Change the foreground color to bright yellow

source

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

Change the background color to bright yellow

source

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

Change the foreground color to bright blue

source

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

Change the background color to bright blue

source

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

Change the foreground color to bright magenta

source

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

Change the background color to bright magenta

source

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

Change the foreground color to bright purple

source

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

Change the background color to bright purple

source

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

Change the foreground color to bright cyan

source

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

Change the background color to bright cyan

source

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

Change the foreground color to bright white

source

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

Change the background color to bright white

source

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

Make the text bold

source

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

Make the text dim

source

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

Make the text italicized

source

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

Make the text italicized

Make the text blink

Make the text blink (but fast!)

source

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

Swap the foreground and background colors

source

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

Hide the text

source

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

Cross out the text

source

fn color<Color: DynColor>( &self, color: Color, ) -> FgDynColorDisplay<'_, Color, Self>

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};

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

fn on_color<Color: DynColor>( &self, color: Color, ) -> BgDynColorDisplay<'_, Color, Self>

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};

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

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

Set the foreground color to a specific RGB value.

source

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

Set the background color to a specific RGB value.

source

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.

source

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.

source

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

Apply a runtime-determined style

source

fn if_supports_color<'a, Out, ApplyFn>( &'a self, stream: Stream, apply: ApplyFn, ) -> SupportsColorsDisplay<'a, Self, Out, ApplyFn>
where ApplyFn: Fn(&'a Self) -> Out,

Apply a given transformation function to all formatters if the given stream supports at least basic ANSI colors, allowing you to conditionally apply given styles/colors.

Requires the supports-colors feature.

use owo_colors::{OwoColorize, Stream};

println!(
    "{}",
    "woah! error! if this terminal supports colors, it's blue"
        .if_supports_color(Stream::Stdout, |text| text.bright_blue())
);

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<D: Sized> OwoColorize for D