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.
A display wrapper which applies a transformation based on if the given stream supports colored terminal output
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.
possible stream sources
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.
Functions
Set an override value for whether or not colors are supported.
Remove any override value for whether or not colors are supported. This means
if_supports_color
will resume checking if the given
terminal output (Stream
) supports colors.
Type Definitions
A helper alias for StyledList
for easier usage with alloc::vec::Vec
.