use std::io::stdout;
use crossterm::event::{KeyboardEnhancementFlags, PushKeyboardEnhancementFlags};
use crossterm::terminal::{
disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen,
};
use crossterm::ExecutableCommand;
pub fn enter() -> anyhow::Result<()> {
enable_raw_mode()?;
let mut out = stdout();
out.execute(EnterAlternateScreen)?;
out.execute(PushKeyboardEnhancementFlags(
KeyboardEnhancementFlags::REPORT_EVENT_TYPES,
))?;
Ok(())
}
pub fn leave() -> anyhow::Result<()> {
let mut out = stdout();
disable_raw_mode()?;
out.execute(LeaveAlternateScreen)?;
Ok(())
}