use {
std::io::Write,
minimad::mad_inline,
termimad::crossterm::style::{Attribute::*, Color::*},
termimad::*,
};
fn main() -> Result<(), Error> {
let mut skin = MadSkin::default();
skin.paragraph.set_bg(ansi(17));
skin.bold.set_fg(Yellow);
skin.inline_code.add_attr(Reverse);
skin.italic.set_fg(White);
let mut w = std::io::stdout();
println!();
mad_print_inline!(&skin, "This is *Markdown*!");
println!();
mad_print_inline!(&skin, "*count:* **$0**", 27);
println!();
mad_print_inline!(&skin, "**$0:** ` area = $2 ` and ` perimeter = $1 `", "Disk", "2*π*r", "π*r²");
println!();
mad_write_inline!(&mut w, &skin, "**$0** is *$1*", "Meow", "crazy").unwrap();
println!();
let user_supplied_strings = [
"Victor Hugo",
"L'escargot et l'alouette",
"Pizza weight: π * z * z * a", ];
for (idx, string) in user_supplied_strings.iter().enumerate() {
mad_print_inline!(
&skin,
"Exhibit $0 : *$1*",
idx,
string,
);
println!();
}
let composite = mad_inline!(
"**command:** `$0`",
"cp -r /some/long/path/to/a/file /some/other/path",
);
skin.write_composite_fill(& mut w, composite.clone(), 70, Alignment::Right).unwrap();
println!();
skin.write_composite_fill(& mut w, composite.clone(), 40, Alignment::Left).unwrap();
println!();
w.flush()?;
println!();
println!();
Ok(())
}