proceed 0.1.0

A simple rust cli abstraction for accepting user-input.
Documentation
// Utility functionality exported for the user.
use crate::*;

// Captured std usage in-case we want to make no_std?
fn flush() -> () {
    use std::io::{stdout, Write};
    let _ignore = stdout().flush();
}

/// Would you like to continue (y/N)?
#[inline]
pub fn proceed() -> bool {
    flush();
    Checker::default().proceed().unwrap_or(false)
}

/// Override the default proceed value of "false".
#[inline]
pub fn proceed_or(default: bool) -> bool {
    flush();
    Checker::default().proceed_or(default)
}

/// Proceed or else run the given function.
#[inline]
pub fn proceed_or_else<F: FnOnce() -> bool>(f: F) -> bool {
    flush();
    Checker::default().proceed_or_else(f)
}

/// Press any key to continue, or 'q' to quit.
/// This only really functions if you have the [term] feature enabled.
#[inline]
pub fn any_or_quit_with(quit: char) -> bool {
    flush();
    let q = quit.to_string();
    let check = move |val: &String| !q.eq_ignore_ascii_case(val);
    let mut checker = Checker::default().with_check(check).with_single_char();
    checker.proceed_or(NO)
}