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_color
A 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_color
Available CSS colors for use with
OwoColorize::color
or OwoColorize::on_color
An 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_color
Traits
A trait for describing a type which can be used with
FgColorDisplay
or
BgCBgColorDisplay
A 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.