#[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
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
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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
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