A zero-allocation no_std-compatible zero-cost way to add color to your Rust terminal to make people go owo.
Supports:
NO_COLOR
/FORCE_COLOR
environment variablesowo-colors is also more-or-less a drop-in replacement for colored, allowing colored to work in a no_std environment. No allocations, unsafe, or dependencies required because embedded systems deserve to be pretty too uwu.
To add to your Cargo.toml:
toml
owo-colors = "3.0.0-beta.2"
```rust 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()); } ```
```rust use owocolors::OwoColorize; use owocolors::colors::*;
fn main() {
// Generically color
println!("My number might be {}!", 4.fg::
```rust use owo_colors::OwoColorize;
println!("{}", "strikethrough".strikethrough()); ```
```rust use owo_colors::{OwoColorize, Stream::Stdout};
println!( "{}", "colored blue if a supported terminal" .ifsupportscolor(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)