parent
645ab74c62
commit
4043ed34ae
|
@ -7,6 +7,7 @@ use std::{
|
|||
};
|
||||
|
||||
use atomic_take::AtomicTake;
|
||||
use clearscreen::ClearScreen;
|
||||
use once_cell::sync::OnceCell;
|
||||
use tokio::{
|
||||
process::Command,
|
||||
|
@ -154,9 +155,16 @@ pub enum Outcome {
|
|||
/// Send this signal to the command.
|
||||
Signal(Signal),
|
||||
|
||||
/// Clear the screen.
|
||||
/// Clear the (terminal) screen.
|
||||
Clear,
|
||||
|
||||
/// Reset the (terminal) screen.
|
||||
///
|
||||
/// This invokes: [`WindowsCooked`][ClearScreen::WindowsCooked],
|
||||
/// [`WindowsVt`][ClearScreen::WindowsVt], [`VtWellDone`][ClearScreen::VtWellDone],
|
||||
/// and [the default][ClearScreen::default()], in this order.
|
||||
Reset,
|
||||
|
||||
/// Exit watchexec.
|
||||
Exit,
|
||||
|
||||
|
@ -391,6 +399,17 @@ async fn apply_outcome(
|
|||
clearscreen::clear()?;
|
||||
}
|
||||
|
||||
(_, Outcome::Reset) => {
|
||||
for cs in [
|
||||
ClearScreen::WindowsCooked,
|
||||
ClearScreen::WindowsVt,
|
||||
ClearScreen::VtWellDone,
|
||||
ClearScreen::default(),
|
||||
] {
|
||||
cs.clear()?;
|
||||
}
|
||||
}
|
||||
|
||||
(Some(_), Outcome::IfRunning(then, _)) => {
|
||||
apply_outcome(
|
||||
*then,
|
||||
|
|
Loading…
Reference in New Issue