cliclack 0.5.6

Beautiful, minimal, opinionated CLI prompts inspired by the Clack NPM package.
Documentation
use cliclack::{clear_screen, intro, log, outro, outro_cancel, spinner};
use console::{style, Key, Term};

fn main() -> std::io::Result<()> {
    clear_screen()?;
    intro(style(" spinner ").on_cyan().black())?;
    log::remark("Press Esc, Enter, or Ctrl-C")?;

    let spinner = spinner();
    spinner.start("Installation");

    let term = Term::stderr();
    loop {
        match term.read_key_raw() {
            Ok(Key::Escape) => {
                spinner.cancel("Installation");
                outro_cancel("Cancelled")?;
            }
            Ok(Key::Enter) => {
                spinner.stop("Installation");
                outro("Done!")?;
            }
            Ok(Key::CtrlC) => {
                spinner.error("Installation");
                outro_cancel("Interrupted")?;
            }
            _ => continue,
        }
        break;
    }

    Ok(())
}