objdiff-cli: Migrate to ratatui for rendering

This commit is contained in:
2024-03-01 01:03:17 -07:00
parent 37ddbb7f4a
commit cb13638e07
4 changed files with 290 additions and 157 deletions

View File

@@ -1,14 +1,16 @@
use std::panic;
use std::{io::stdout, panic};
use crossterm::{
cursor::Show,
event::DisableMouseCapture,
terminal::{disable_raw_mode, LeaveAlternateScreen},
};
pub fn crossterm_panic_handler() {
let original_hook = panic::take_hook();
panic::set_hook(Box::new(move |panic_info| {
let _ = crossterm::execute!(
std::io::stderr(),
crossterm::terminal::LeaveAlternateScreen,
crossterm::event::DisableMouseCapture
);
let _ = crossterm::terminal::disable_raw_mode();
let _ = crossterm::execute!(stdout(), LeaveAlternateScreen, DisableMouseCapture, Show);
let _ = disable_raw_mode();
original_hook(panic_info);
}));
}