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::color
or OwoColorize::on_colorA pre-computed style that can be applied to a struct using
OwoColorize::style. Its
interface mimicks that of OwoColorize, but instead of chaining methods on your
object, you instead chain them on the Style object before applying it.A collection of
Styled items 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::color
or OwoColorize::on_colorAvailable CSS colors for use with
OwoColorize::color
or OwoColorize::on_colorAn enum describing runtime-configurable colors which can be displayed using
FgDynColorDisplay
or BgDynColorDisplay, allowing for multiple types of colors to be used
at runtime.Available Xterm colors for use with
OwoColorize::color
or OwoColorize::on_colorTraits
A trait for describing a type which can be used with
FgColorDisplay or
BgCBgColorDisplayA trait describing a runtime-configurable color which can displayed using
FgDynColorDisplay
or BgDynColorDisplay. If your color will be known at compile time it
is recommended you avoid this.