1
0
Fork 0
mirror of https://github.com/helix-editor/helix synced 2024-05-17 02:46:06 +02:00

Restore terminal mode on panics.

This commit is contained in:
Blaž Hrastnik 2020-09-19 11:57:22 +09:00
parent 929fa5474d
commit 91343a6846

View File

@ -376,6 +376,14 @@ pub async fn run(&mut self) -> Result<(), Error> {
execute!(stdout, terminal::EnterAlternateScreen)?;
// Exit the alternate screen and disable raw mode before panicking
let hook = std::panic::take_hook();
std::panic::set_hook(Box::new(move |info| {
execute!(std::io::stdout(), terminal::LeaveAlternateScreen);
disable_raw_mode();
hook(info);
}));
self.event_loop().await;
// reset cursor shape