A small library for stylizing terminal text with ANSI color codes, with ergonomic macros.
Add stilo = "0.2.2"
to your Cargo.toml
dependencies
stylize!
Creates a Style
struct and formats text.
```rust use stilo::stylize;
// Red println!("{}", stylize!("Hello": Red));
// Red, italic, and bold println!("{}", stylize!("Hello": Red + italic+bold));
// Default color, italic and bold println!("{}", stylize!("Hello": +i+b));
// Format string let world = "World!"; println!("{}", stylize!("Hello {}": Green + i+b, world)); ```
stylize_many!
and println!_styles!
Stylize many strings individually, and concatenate.
stylize_many!
: Returns a String
of formatted textprintln_styles!
: Prints a String
of formatted text to stdout, with newline.println!("{}", stylize_many!( ... ))
```rust use stilo::stylize_many; let world = "World!";
// println!("{}", stylize_many!
would also work in this example
println_styles!(
// Red
"Hello\n": Red;
// Red, italic, and bold
"Hello\n": Red + italic+bold;
// Default color, italic and bold
"Hello\n": +i+b;
// Format string
"Hello {}": Green + i+b, world;
);
```
style!
Creates a Style
struct, without formatting text.
```rust // Red let style = style!(Red); println!("{}", style.format("Hello"));
// Red, italic, and bold let style = style!(Red + italic + bold); println!("{}", style.format("Hello"));
// Default color, italic and bold let style = style!(+i+b); println!("{}", style.format("Hello")); ```
```rust use stilo::{Style, Color::*, style_format};
// Create a new style with the builder pattern
// Style
implements Copy
let style = Style::new().color(Red).italic();
// OOP Syntax println!("{}", style.format("Hello!")); // Functional syntax println!("{}", style_format("Hello!", style)); ```