keyfork-prompt: redraw screen on events for prompt_message
This commit is contained in:
parent
55b41a49ef
commit
b873ef4d5c
|
@ -238,26 +238,27 @@ 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)?;
|
||||||
|
|
||||||
terminal
|
|
||||||
.queue(terminal::Clear(terminal::ClearType::All))?
|
|
||||||
.queue(cursor::MoveTo(0, 0))?;
|
|
||||||
let mut lines = prompt.lines().peekable();
|
|
||||||
while let Some(line) = lines.next() {
|
|
||||||
terminal.queue(Print(line))?;
|
|
||||||
if lines.peek().is_some() {
|
|
||||||
terminal
|
|
||||||
.queue(cursor::MoveDown(1))?
|
|
||||||
.queue(cursor::MoveToColumn(0))?;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
terminal
|
|
||||||
.queue(cursor::DisableBlinking)?
|
|
||||||
.queue(cursor::MoveDown(1))?
|
|
||||||
.queue(cursor::MoveToColumn(0))?
|
|
||||||
.queue(PrintStyledContent(" OK ".negative()))?
|
|
||||||
.flush()?;
|
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
|
// TODO: split on word boundaries
|
||||||
|
terminal
|
||||||
|
.queue(terminal::Clear(terminal::ClearType::All))?
|
||||||
|
.queue(cursor::MoveTo(0, 0))?;
|
||||||
|
let mut lines = prompt.lines().peekable();
|
||||||
|
while let Some(line) = lines.next() {
|
||||||
|
terminal.queue(Print(line))?;
|
||||||
|
if lines.peek().is_some() {
|
||||||
|
terminal
|
||||||
|
.queue(cursor::MoveDown(1))?
|
||||||
|
.queue(cursor::MoveToColumn(0))?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
terminal
|
||||||
|
.queue(cursor::DisableBlinking)?
|
||||||
|
.queue(cursor::MoveDown(1))?
|
||||||
|
.queue(cursor::MoveToColumn(0))?
|
||||||
|
.queue(PrintStyledContent(" OK ".negative()))?
|
||||||
|
.flush()?;
|
||||||
|
|
||||||
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(())
|
||||||
|
|
Loading…
Reference in New Issue