Trait owo_colors::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(&self) -> FgColorDisplay<'_, Black, Self> { ... }
fn on_black(&self) -> BgColorDisplay<'_, Black, Self> { ... }
fn red(&self) -> FgColorDisplay<'_, Red, Self> { ... }
fn on_red(&self) -> BgColorDisplay<'_, Red, Self> { ... }
fn green(&self) -> FgColorDisplay<'_, Green, Self> { ... }
fn on_green(&self) -> BgColorDisplay<'_, Green, Self> { ... }
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self> { ... }
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self> { ... }
fn blue(&self) -> FgColorDisplay<'_, Blue, Self> { ... }
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self> { ... }
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self> { ... }
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self> { ... }
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self> { ... }
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self> { ... }
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self> { ... }
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self> { ... }
fn white(&self) -> FgColorDisplay<'_, White, Self> { ... }
fn on_white(&self) -> BgColorDisplay<'_, White, Self> { ... }
fn default_color(&self) -> FgColorDisplay<'_, Default, Self> { ... }
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self> { ... }
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self> { ... }
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self> { ... }
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self> { ... }
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self> { ... }
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self> { ... }
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self> { ... }
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self> { ... }
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self> { ... }
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self> { ... }
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self> { ... }
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self> { ... }
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self> { ... }
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self> { ... }
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self> { ... }
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self> { ... }
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self> { ... }
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self> { ... }
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self> { ... }
fn bold(&self) -> BoldDisplay<'_, Self> { ... }
fn dimmed(&self) -> DimDisplay<'_, Self> { ... }
fn italic(&self) -> ItalicDisplay<'_, Self> { ... }
fn underline(&self) -> UnderlineDisplay<'_, Self> { ... }
fn blink(&self) -> BlinkDisplay<'_, Self> { ... }
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self> { ... }
fn reversed(&self) -> ReversedDisplay<'_, Self> { ... }
fn hidden(&self) -> HiddenDisplay<'_, Self> { ... }
fn strikethrough(&self) -> StrikeThroughDisplay<'_, 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: impl Into<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?
- Enable the
supports-colors
feature - Colorize inside
if_supports_color
Do you need to store a set of colors/effects to apply to multiple things?
Provided Methods§
sourcefn fg<C: Color>(&self) -> FgColorDisplay<'_, C, Self>
fn fg<C: Color>(&self) -> FgColorDisplay<'_, C, Self>
Set the foreground color generically
use owo_colors::{OwoColorize, colors::*};
println!("{}", "red foreground".fg::<Red>());
Examples found in repository?
More examples
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn bg<C: Color>(&self) -> BgColorDisplay<'_, C, Self>
fn bg<C: Color>(&self) -> BgColorDisplay<'_, C, Self>
Set the background color generically.
use owo_colors::{OwoColorize, colors::*};
println!("{}", "black background".bg::<Black>());
sourcefn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Change the foreground color to black
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Change the background color to black
sourcefn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Change the foreground color to red
Examples found in repository?
More examples
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Change the background color to red
sourcefn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Change the foreground color to green
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
fn main() {
println!("Override color=always");
owo_colors::set_override(true);
println!("{}", "blue".if_supports_color(Stdout, |text| text.blue()));
println!("Override color=never");
owo_colors::set_override(false);
println!("{}", "green".if_supports_color(Stdout, |text| text.green()));
println!("Override color=auto");
owo_colors::unset_override();
println!(
"{}",
"yellow".if_supports_color(Stdout, |text| text.bright_yellow())
);
}
More examples
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Change the background color to green
sourcefn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Change the foreground color to yellow
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Change the background color to yellow
sourcefn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Change the foreground color to blue
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
fn main() {
println!("Override color=always");
owo_colors::set_override(true);
println!("{}", "blue".if_supports_color(Stdout, |text| text.blue()));
println!("Override color=never");
owo_colors::set_override(false);
println!("{}", "green".if_supports_color(Stdout, |text| text.green()));
println!("Override color=auto");
owo_colors::unset_override();
println!(
"{}",
"yellow".if_supports_color(Stdout, |text| text.bright_yellow())
);
}
More examples
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Change the background color to blue
sourcefn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Change the foreground color to magenta
sourcefn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to magenta
sourcefn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Change the foreground color to purple
sourcefn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to purple
sourcefn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Change the foreground color to cyan
sourcefn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Change the background color to cyan
sourcefn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Change the foreground color to white
sourcefn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Change the background color to white
sourcefn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Change the foreground color to the terminal default
sourcefn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Change the background color to the terminal default
sourcefn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Change the foreground color to bright black
sourcefn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Change the background color to bright black
sourcefn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Change the foreground color to bright red
sourcefn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Change the background color to bright red
sourcefn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Change the foreground color to bright green
sourcefn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Change the background color to bright green
sourcefn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Change the foreground color to bright yellow
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
fn main() {
println!("Override color=always");
owo_colors::set_override(true);
println!("{}", "blue".if_supports_color(Stdout, |text| text.blue()));
println!("Override color=never");
owo_colors::set_override(false);
println!("{}", "green".if_supports_color(Stdout, |text| text.green()));
println!("Override color=auto");
owo_colors::unset_override();
println!(
"{}",
"yellow".if_supports_color(Stdout, |text| text.bright_yellow())
);
}
sourcefn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Change the background color to bright yellow
sourcefn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Change the foreground color to bright blue
sourcefn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Change the background color to bright blue
sourcefn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright magenta
sourcefn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright magenta
sourcefn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright purple
sourcefn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright purple
sourcefn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Change the foreground color to bright cyan
sourcefn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Change the background color to bright cyan
sourcefn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Change the foreground color to bright white
sourcefn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Change the background color to bright white
sourcefn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Make the text bold
Examples found in repository?
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
fn main() {
let colors: [DynColors; 6] = [
"#B80A41", "#4E4BA8", "#6EB122", "#DAAC06", "#00938A", "#E23838",
]
.map(|color| color.parse().unwrap());
println!("\n\n\n\n\n{}", OWO.fg_rgb::<0x2E, 0x31, 0x92>().bold());
for line in COLORS.split_inclusive('\n') {
for (text, color) in line.split('|').zip(colors.iter().copied()) {
print!("{}", text.color(color).bold());
}
}
println!("\n\n\n\n\n\n");
}
More examples
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Make the text dim
sourcefn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Make the text italicized
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Make the text underlined
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Make the text blink
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Make the text blink (but fast!)
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Swap the foreground and background colors
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
Hide the text
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Cross out the text
Examples found in repository?
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
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg::<Red>());
println!("{}", "magenta".fg::<Magenta>());
println!("{}", "white".fg::<White>());
println!("{}", "cyan".fg::<Cyan>());
println!("\nBrights\n-------");
println!("{}", "green".fg::<BrightGreen>());
println!("{}", "yellow".fg::<BrightYellow>());
println!("{}", "blue".fg::<BrightBlue>());
println!("{}", "black".fg::<BrightBlack>());
println!("{}", "red".fg::<BrightRed>());
println!("{}", "magenta".fg::<BrightMagenta>());
println!("{}", "white".fg::<BrightWhite>());
println!("{}", "cyan".fg::<BrightCyan>());
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italic());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reversed());
println!("1{}3", "2".hidden());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcefn color<Color: DynColor>(
&self,
color: Color,
) -> FgDynColorDisplay<'_, Color, Self>
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));
Examples found in repository?
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
fn main() {
let colors: [DynColors; 6] = [
"#B80A41", "#4E4BA8", "#6EB122", "#DAAC06", "#00938A", "#E23838",
]
.map(|color| color.parse().unwrap());
println!("\n\n\n\n\n{}", OWO.fg_rgb::<0x2E, 0x31, 0x92>().bold());
for line in COLORS.split_inclusive('\n') {
for (text, color) in line.split('|').zip(colors.iter().copied()) {
print!("{}", text.color(color).bold());
}
}
println!("\n\n\n\n\n\n");
}
More examples
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
fn main() {
let mut color = AnsiColors::Red;
println!("{}", "red".color(color));
color = AnsiColors::Blue;
println!("{}", "blue".color(color));
let color = XtermColors::Fuchsia;
println!("{}", "fuchsia".color(color));
let color = Rgb(141, 59, 212);
println!("{}", "custom purple".color(color));
let color = match random_number() {
1 => DynColors::Rgb(141, 59, 212),
2 => DynColors::Ansi(AnsiColors::BrightGreen),
3 => "#F3F3F3".parse().unwrap(),
_ => DynColors::Xterm(XtermColors::Aqua),
};
println!("{}", "mystery color".color(color));
}
sourcefn on_color<Color: DynColor>(
&self,
color: Color,
) -> BgDynColorDisplay<'_, Color, Self>
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));
sourcefn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
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.
Examples found in repository?
More examples
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
fn main() {
let colors: [DynColors; 6] = [
"#B80A41", "#4E4BA8", "#6EB122", "#DAAC06", "#00938A", "#E23838",
]
.map(|color| color.parse().unwrap());
println!("\n\n\n\n\n{}", OWO.fg_rgb::<0x2E, 0x31, 0x92>().bold());
for line in COLORS.split_inclusive('\n') {
for (text, color) in line.split('|').zip(colors.iter().copied()) {
print!("{}", text.color(color).bold());
}
}
println!("\n\n\n\n\n\n");
}
sourcefn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
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.
sourcefn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Sets the foreground color to an RGB value.
sourcefn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Sets the background color to an RGB value.
sourcefn if_supports_color<'a, Out, ApplyFn>(
&'a self,
stream: impl Into<Stream>,
apply: ApplyFn,
) -> SupportsColorsDisplay<'a, Self, Out, ApplyFn>where
ApplyFn: Fn(&'a Self) -> Out,
fn if_supports_color<'a, Out, ApplyFn>(
&'a self,
stream: impl Into<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::{Stream, OwoColorize};
println!(
"{}",
"woah! error! if this terminal supports colors, it's blue"
.if_supports_color(Stream::Stdout, |text| text.bright_blue())
);
This function also accepts supports_color
version 2’s Stream
, and also the deprecated
supports_color
version 1’s Stream
.
use owo_colors::OwoColorize;
#[cfg(feature = "supports-colors")]
use supports_color::Stream;
println!(
"{}",
"woah! error! if this terminal supports colors, it's blue"
.if_supports_color(Stream::Stdout, |text| text.bright_blue())
);
Examples found in repository?
More examples
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
fn main() {
println!("Override color=always");
owo_colors::set_override(true);
println!("{}", "blue".if_supports_color(Stdout, |text| text.blue()));
println!("Override color=never");
owo_colors::set_override(false);
println!("{}", "green".if_supports_color(Stdout, |text| text.green()));
println!("Override color=auto");
owo_colors::unset_override();
println!(
"{}",
"yellow".if_supports_color(Stdout, |text| text.bright_yellow())
);
}