use crossterm::{terminal, event};
use crossterm::event::{Event, KeyCode};
pub fn wait_for_key() -> bool {
print!("\n \x1b[90m[Enter] continue · [q] quit\x1b[0m ");
let _ = std::io::Write::flush(&mut std::io::stdout());
std::thread::sleep(std::time::Duration::from_millis(150));
let _ = terminal::enable_raw_mode();
while event::poll(std::time::Duration::from_millis(50)).unwrap_or(false) {
let _ = event::read();
}
let quit = loop {
if let Ok(Event::Key(key)) = event::read() {
match key.code {
KeyCode::Char('q') | KeyCode::Char('Q') => break true,
_ => break false,
}
}
};
let _ = terminal::disable_raw_mode();
println!();
if quit {
std::process::exit(0);
}
false
}