Expand description
facet-ansi
Logo by Misiasart
Thanks to all individual and corporate sponsors, without whom this work could not exist:
Think owo-colors, but even lighter, and unconditional. And not comprehensive.
§Overview
facet-ansi is a lightweight library for adding ANSI colors and styles to terminal output. It provides a simple, ergonomic API without any conditional compilation or unnecessary complexity.
§Examples
§Basic Styling
use facet_ansi::Stylize;
println!("{}", "This text is red".red());
println!("{}", "This text is blue".blue());
println!("{}", "This text is green".green());
// Combine with formatting
println!("{} and {}", "Red text".red(), "blue text".blue());§Style Methods
use facet_ansi::Stylize;
// Apply emphasis styles
println!("{}", "Bold text".bold());
println!("{}", "Underlined text".underline());
println!("{}", "Dimmed text".dim());
// Combine styles with method chaining
println!("{}", "Bold and red".red().style(facet_ansi::Style::new().bold()));§Using the Style Module
use facet_ansi::{Stylize, ColorStyle, styles};
// Use pre-defined styles
let warning_style = styles::yellow();
let error_style = styles::bright_red().bold();
println!("{}", "Warning message".style(warning_style));
println!("{}", "Error message".style(error_style));
// Create custom styles
let custom_style = facet_ansi::Style::new().fg_green().bold().underline();
println!("{}", "Custom styled text".style(custom_style));§Debug Output
use facet_ansi::Stylize;
// Works with debug formatting too
let data = vec![1, 2, 3];
println!("{:?}", data.cyan());§License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Modules§
- styles
- Provides easy access to common styles
Structs§
Traits§
- Color
Style - Extensions for creating styles with common colors
- Stylize
- Extension trait for styling any Display value.