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