pub struct Step {
pub argv: Vec<String>,
pub shell: bool,
pub interactive: bool,
pub env: Vec<(String, String)>,
}Expand description
One command in an Action’s ordered list, crossing from the consumer as plain data:
from_env already resolved, so this crate never learns what that means
(config.md’s
“Actions”, “Launchers” carries the same split for a Launcher’s own argv). shell
crosses over unresolved, because resolving it is executor::run_step’s own job,
the same convention the repon crate’s Launcher shell = true uses: with
shell set, argv holds exactly one element, the whole command string, per
config.md’s
“Launchers”. env’s pairs are applied after
environment::environment’s own set-or-unset pairs, so a step’s own env table
overrides the guaranteed set exactly as config.md’s
Launcher env field already does.
Fields§
§argv: Vec<String>§shell: bool§interactive: boolRuns argv through $SHELL -ic rather than $SHELL -c, sourcing the user’s own rc
file first (config.md’s
interactive key). Meaningless, and always false, unless shell is also set; the
consumer rejects interactive without shell at config load rather than this crate
silently ignoring it.
env: Vec<(String, String)>Trait Implementations§
Auto Trait Implementations§
impl Freeze for Step
impl RefUnwindSafe for Step
impl Send for Step
impl Sync for Step
impl Unpin for Step
impl UnsafeUnpin for Step
impl UnwindSafe for Step
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more