termint 0.8.0

Library for colored printing and Terminal User Interfaces
Documentation
use std::{io::Write, time::Duration};

use termal::raw::{disable_raw_mode, enable_raw_mode};
use termint::{
    prelude::*,
    term::{
        backend::Backend, disable_bracketed_paste, disable_mouse_capture,
        enable_bracketed_paste, enable_mouse_capture,
    },
};

fn main() -> Result<(), Error> {
    enable_raw_mode()?;
    let mut backend = CrosstermBackend::default();

    enable_bracketed_paste();
    enable_mouse_capture();
    let mut stdout = std::io::stdout();

    let timeout = Duration::from_millis(100);
    loop {
        if let Some(event) = backend.read_event(timeout)? {
            match event {
                Event::Key(key)
                    if key.code == KeyCode::Char('c')
                        && key.modifiers.contains(KeyModifiers::CONTROL) =>
                {
                    break
                }
                _ => {
                    print!("{:?}\n\r", event);
                    _ = stdout.flush();
                }
            }
        }
    }
    disable_bracketed_paste();
    disable_mouse_capture();
    disable_raw_mode()?;
    Ok(())
}