drop for terminalcore
This commit is contained in:
@@ -37,14 +37,17 @@ impl TerminalCore {
|
||||
}
|
||||
|
||||
pub fn cleanup(&mut self) -> Result<(), Box<dyn std::error::Error>> {
|
||||
let mut stdout = stdout();
|
||||
execute!(stdout, Show)?;
|
||||
execute!(stdout, SetCursorStyle::DefaultUserShape)?;
|
||||
execute!(stdout, LeaveAlternateScreen)?;
|
||||
disable_raw_mode()?;
|
||||
stdout.flush()?;
|
||||
let backend = self.terminal.backend_mut();
|
||||
execute!(
|
||||
stdout,
|
||||
backend,
|
||||
Show,
|
||||
SetCursorStyle::DefaultUserShape,
|
||||
LeaveAlternateScreen
|
||||
)?;
|
||||
disable_raw_mode()?;
|
||||
backend.flush()?;
|
||||
execute!(
|
||||
backend,
|
||||
crossterm::terminal::Clear(crossterm::terminal::ClearType::All),
|
||||
MoveTo(0, 0)
|
||||
)?;
|
||||
@@ -63,3 +66,9 @@ impl TerminalCore {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for TerminalCore {
|
||||
fn drop(&mut self) {
|
||||
let _ = self.cleanup();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user