keyfork-prompt: redraw screen on events for prompt_message

This commit is contained in:
Ryan Heywood 2023-12-26 18:08:52 -05:00
parent 55b41a49ef
commit b873ef4d5c
Signed by: ryan
GPG Key ID: 8E401478A3FBEF72
1 changed files with 22 additions and 19 deletions

View File

@ -238,6 +238,8 @@ where
let mut terminal = AlternateScreen::new(&mut self.write)?; let mut terminal = AlternateScreen::new(&mut self.write)?;
let mut terminal = RawMode::new(&mut terminal)?; let mut terminal = RawMode::new(&mut terminal)?;
loop {
// TODO: split on word boundaries
terminal terminal
.queue(terminal::Clear(terminal::ClearType::All))? .queue(terminal::Clear(terminal::ClearType::All))?
.queue(cursor::MoveTo(0, 0))?; .queue(cursor::MoveTo(0, 0))?;
@ -257,7 +259,6 @@ where
.queue(PrintStyledContent(" OK ".negative()))? .queue(PrintStyledContent(" OK ".negative()))?
.flush()?; .flush()?;
loop {
match read()? { match read()? {
Event::Key(k) => match k.code { Event::Key(k) => match k.code {
KeyCode::Enter | KeyCode::Char(' ') => break, KeyCode::Enter | KeyCode::Char(' ') => break,
@ -265,6 +266,8 @@ where
}, },
_ => (), _ => (),
} }
} }
terminal.queue(cursor::EnableBlinking)?.flush()?; terminal.queue(cursor::EnableBlinking)?.flush()?;
Ok(()) Ok(())