Crate owo_colors
source ·Expand description
| Quick Links | OwoColorize | Style | StyledList | github | 
|---|
This crate provides OwoColorize, an extension trait for colorizing a
given type.
§Example
use owo_colors::OwoColorize;
fn main() {
    // Foreground colors
    println!("My number is {:#x}!", 10.green());
    // Background colors
    println!("My number is not {}!", 4.on_red());
}§Generically color
use owo_colors::OwoColorize;
use owo_colors::colors::*;
fn main() {
    // Generically color
    println!("My number might be {}!", 4.fg::<Black>().bg::<Yellow>());
}§Stylize
use owo_colors::OwoColorize;
println!("{}", "strikethrough".strikethrough());§Only Style on Supported Terminals
use owo_colors::{OwoColorize, Stream::Stdout};
println!(
    "{}",
    "colored blue if a supported terminal"
        .if_supports_color(Stdout, |text| text.bright_blue())
);Supports NO_COLOR/FORCE_COLOR environment variables, checks if it’s a tty, checks
if it’s running in CI (and thus likely supports color), and checks which terminal is being
used. (Note: requires supports-colors feature)
§Style Objects
owo-colors also features the ability to create a Style object and use it to
apply the same set of colors/effects to any number of things to display.
use owo_colors::{OwoColorize, Style};
let my_style = Style::new()
    .red()
    .on_white()
    .strikethrough();
let text = "red text, white background, struck through";
println!("{}", text.style(my_style));Modules§
- Color types for used for being generic over the color
 - Different display styles (strikethrough, bold, etc.)
 
Structs§
- Transparent wrapper around a type which implements all the formatters the wrapped type does, with the addition of changing the background color. Recommended to be constructed using
OwoColorize. - Wrapper around a type which implements all the formatters the wrapped type does, with the addition of changing the background color. Is not recommended unless compile-time coloring is not an option.
 - A wrapper type which applies both a foreground and background color
 - Transparent wrapper around a type which implements all the formatters the wrapped type does, with the addition of changing the foreground color. Recommended to be constructed using
OwoColorize. - Wrapper around a type which implements all the formatters the wrapped type does, with the addition of changing the foreground color. Is not recommended unless compile-time coloring is not an option.
 - An error for when the color can not be parsed from a string at runtime
 - Available RGB colors for use with
OwoColorize::colororOwoColorize::on_color - A pre-computed style that can be applied to a struct using
OwoColorize::style. Its interface mimicks that ofOwoColorize, but instead of chaining methods on your object, you instead chain them on theStyleobject before applying it. - A wrapper type which applies a
Stylewhen displaying the inner type - A collection of
Styleditems that are displayed in such a way as to minimize the amount of characters that are written when displayed. 
Enums§
- Available standard ANSI colors for use with
OwoColorize::colororOwoColorize::on_color - Available CSS colors for use with
OwoColorize::colororOwoColorize::on_color - An enum describing runtime-configurable colors which can be displayed using
FgDynColorDisplayorBgDynColorDisplay, allowing for multiple types of colors to be used at runtime. - A runtime-configurable text effect for use with
Style - Available Xterm colors for use with
OwoColorize::colororOwoColorize::on_color 
Traits§
- A trait for describing a type which can be used with
FgColorDisplayorBgCBgColorDisplay - A trait describing a runtime-configurable color which can displayed using
FgDynColorDisplayorBgDynColorDisplay. If your color will be known at compile time it is recommended you avoid this. 
Functions§
- Helper to create
Styles more ergonomically