lool/examples/stylizer.rs

64 lines
1.9 KiB
Rust

use {
eyre::{set_hook, DefaultHandler, Result},
lool::cli::stylize::{stylize, Stylize},
};
fn setup_eyre() {
let _ = set_hook(Box::new(DefaultHandler::default_with));
}
fn main() -> Result<()> {
setup_eyre();
let red_bold = stylize("[red+bold]", "red+bold");
let alt_red_bold = stylize(stylize("alt [red+bold]", "red"), "+bold");
let red_bold_italic = stylize("[red+bold|italic]", "red+bold|italic");
let alt_red_bold_italic = stylize(
stylize(stylize("alt [red+bold|italic]", "red"), "+bold"),
"+italic",
);
let red_on_blue = stylize("[white on blue]", "white on blue");
let rgb = stylize("[#3a95ef]", "#3a95ef");
let rgb_on_rgb = stylize("[#3a95ef on #c174dd]", "#3a95ef on #c174dd");
let rgb_dim = stylize("[#3a95ef+dim]", "#3a95ef+dim");
println!("pre {} post", red_bold);
println!("pre {} post", alt_red_bold);
println!("pre {} post", red_bold_italic);
println!("pre {} post", alt_red_bold_italic);
println!("pre {} post", red_on_blue);
println!("pre {} post", rgb);
println!("pre {} post", rgb_on_rgb);
println!("pre {} post", rgb_dim);
println!("pre {} post", "[green]".stl("green").stl("+bold"));
println!("pre {} post", "[green+bold]".stl("green+bold"));
println!("pre {} post", "[.blue()]".blue());
println!("pre {} post", "[.blue().bold()]".blue().bold());
println!(
"pre {} post",
"[.blue().on_red().bold()]".blue().on_red().bold()
);
println!("pre {} post", "[.dim()]".dim());
println!("pre {} post", "[.blue().dim()]".blue().dim());
println!("pre {} post", "[.rgb(\"#af7cbf\")]".rgb("#af7cbf"));
println!(
"pre {} post",
"[.rgb(\"#af7cbf\").bold()]".rgb("#af7cbf").bold()
);
println!("pre {} post", "[.on_rgb(\"#af7cbf\")".on_rgb("#af7cbf"));
println!(
"pre {} post",
"[.on_rgb(\"#af7cbf\").bold()]".on_rgb("#af7cbf").bold()
);
Ok(())
}