#[non_exhaustive]
pub enum Outcome {
DoNothing,
Stop,
Start,
Wait,
Signal(SubSignal),
Clear,
Reset,
Exit,
IfRunning(Box<Outcome>, Box<Outcome>),
Both(Box<Outcome>, Box<Outcome>),
}
Expand description
The outcome to execute when an action is triggered.
Logic against the state of the command should be expressed using these variants, rather than inside the action handler, as it ensures the state of the command is always the latest available when the outcome is executed.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
DoNothing
Stop processing this action silently.
Stop
If the command is running, stop it.
This should be used with an IfRunning
, and will warn if the command is not running.
Start
If the command isn’t running, start it.
This should be used with an IfRunning
, and will warn if the command is running.
Wait
Wait for command completion.
Does nothing if the command isn’t running.
Signal(SubSignal)
Send this signal to the command.
This does not wait for the command to complete.
Clear
Clear the (terminal) screen.
Reset
Reset the (terminal) screen.
This invokes (in order): WindowsCooked
,
WindowsVt
,
VtLeaveAlt
,
VtWellDone
,
and the default clear.
Exit
Exit watchexec.
IfRunning(Box<Outcome>, Box<Outcome>)
When command is running, do the first, otherwise the second.
Both(Box<Outcome>, Box<Outcome>)
Do both outcomes in order.
Implementations
Convenience function to create an outcome conditional on the state of the subprocess.
Convenience function to create a sequence of outcomes.
Convenience function to wait for the subprocess to complete before executing the outcome.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Outcome
impl UnwindSafe for Outcome
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more