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
orOwoColorize::on_color
- A pre-computed style that can be applied to a struct using
OwoColorize::style
. Its interface mimics that ofOwoColorize
, but instead of chaining methods on your object, you instead chain them on theStyle
object before applying it. - A wrapper type which applies a
Style
when displaying the inner type - 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
orOwoColorize::on_color
- Available CSS colors for use with
OwoColorize::color
orOwoColorize::on_color
- An enum describing runtime-configurable colors which can be displayed using
FgDynColorDisplay
orBgDynColorDisplay
, 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::color
orOwoColorize::on_color
Traits
- A trait for describing a type which can be used with
FgColorDisplay
orBgColorDisplay
- A trait describing a runtime-configurable color which can displayed using
FgDynColorDisplay
orBgDynColorDisplay
. If your color will be known at compile time it is recommended you avoid this.
Functions
- Helper to create
Style
s more ergonomically