objdiff-cli: Migrate to ratatui for rendering

This commit is contained in:
Luke Street
2024-03-01 01:03:17 -07:00
parent 37ddbb7f4a
commit cb13638e07
4 changed files with 290 additions and 157 deletions
+1
View File
@@ -20,6 +20,7 @@ crossterm = "0.27.0"
enable-ansi-support = "0.2.1"
log = "0.4.20"
objdiff-core = { path = "../objdiff-core", features = ["all"] }
ratatui = "0.26.1"
rayon = "1.8.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0.111"
File diff suppressed because it is too large Load Diff
+9 -7
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);
}));
}