From 756c124b68a3c77c558c3eda06bb5cfe620851c2 Mon Sep 17 00:00:00 2001 From: Stephan Dilly Date: Sat, 4 Jul 2020 15:40:52 +0200 Subject: [PATCH] hide cursor again after external editor closes (fixes #168) --- src/main.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index dce02997..9c331c74 100644 --- a/src/main.rs +++ b/src/main.rs @@ -39,7 +39,7 @@ use crossterm::{ }, ExecutableCommand, }; -use input::{Input, InputEvent}; +use input::{Input, InputEvent, InputState}; use profiler::Profiler; use scopeguard::defer; use scopetime::scope_time; @@ -129,7 +129,14 @@ fn main() -> Result<()> { scope_time!("loop"); match event { - QueueEvent::InputEvent(ev) => app.event(ev)?, + QueueEvent::InputEvent(ev) => { + if let InputEvent::State(InputState::Polling) = ev + { + //Note: external ed closed, we need to re-hide cursor + terminal.hide_cursor()?; + } + app.event(ev)? + } QueueEvent::Tick => app.update()?, QueueEvent::GitEvent(ev) => app.update_git(ev)?, QueueEvent::SpinnerUpdate => unreachable!(),