#[non_exhaustive]
pub enum Outcome {
DoNothing,
Stop,
Start,
Wait,
Sleep(Duration),
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.
Sleep(Duration)
Sleep for some duration.
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
sourceimpl Outcome
impl Outcome
sourcepub fn if_running(then: Outcome, otherwise: Outcome) -> Self
pub fn if_running(then: Outcome, otherwise: Outcome) -> Self
Convenience function to create an outcome conditional on the state of the subprocess.
sourcepub fn both(one: Outcome, two: Outcome) -> Self
pub fn both(one: Outcome, two: Outcome) -> Self
Convenience function to create a sequence of outcomes.
Trait Implementations
sourceimpl PartialEq<Outcome> for Outcome
impl PartialEq<Outcome> for Outcome
impl Eq for Outcome
impl StructuralEq for Outcome
impl StructuralPartialEq for Outcome
Auto Trait Implementations
impl RefUnwindSafe for Outcome
impl Send for Outcome
impl Sync for Outcome
impl Unpin for Outcome
impl UnwindSafe for Outcome
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more