pub enum CompoundCommand {
Arithmetic(ArithmeticCommand),
ArithmeticForClause(ArithmeticForClauseCommand),
BraceGroup(BraceGroupCommand),
Subshell(SubshellCommand),
ForClause(ForClauseCommand),
CaseClause(CaseClauseCommand),
IfClause(IfClauseCommand),
WhileClause(WhileOrUntilClauseCommand),
UntilClause(WhileOrUntilClauseCommand),
Coprocess(CoprocessCommand),
ExtendedTest(ExtendedTestExprCommand),
}Expand description
Represents a compound command, potentially made up of multiple nested commands.
Variants§
Arithmetic(ArithmeticCommand)
An arithmetic command, evaluating an arithmetic expression.
ArithmeticForClause(ArithmeticForClauseCommand)
An arithmetic for clause, which loops until an arithmetic condition is reached.
BraceGroup(BraceGroupCommand)
A brace group, which groups commands together.
Subshell(SubshellCommand)
A subshell, which executes commands in a subshell.
ForClause(ForClauseCommand)
A for clause, which loops over a set of values.
CaseClause(CaseClauseCommand)
A case clause, which selects a command based on a value and a set of pattern-based filters.
IfClause(IfClauseCommand)
An if clause, which conditionally executes a command.
WhileClause(WhileOrUntilClauseCommand)
A while clause, which loops while a condition is met.
UntilClause(WhileOrUntilClauseCommand)
An until clause, which loops until a condition is met.
Coprocess(CoprocessCommand)
A coprocess, which runs a command asynchronously in a subshell.
ExtendedTest(ExtendedTestExprCommand)
An extended test command, evaluating an extended test expression.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for CompoundCommand
Available on crate feature arbitrary only.
impl<'arbitrary> Arbitrary<'arbitrary> for CompoundCommand
Available on crate feature
arbitrary only.Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl Clone for CompoundCommand
impl Clone for CompoundCommand
Source§impl Debug for CompoundCommand
impl Debug for CompoundCommand
Source§impl<'de> Deserialize<'de> for CompoundCommand
Available on crate features serde only.
impl<'de> Deserialize<'de> for CompoundCommand
Available on crate features
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CompoundCommand
impl Display for CompoundCommand
impl Eq for CompoundCommand
Available on crate features
serde only.impl Node for CompoundCommand
Source§impl PartialEq for CompoundCommand
Available on crate features serde only.
impl PartialEq for CompoundCommand
Available on crate features
serde only.Source§impl Serialize for CompoundCommand
Available on crate features serde only.
impl Serialize for CompoundCommand
Available on crate features
serde only.Source§impl SourceLocation for CompoundCommand
impl SourceLocation for CompoundCommand
Source§fn location(&self) -> Option<SourceSpan>
fn location(&self) -> Option<SourceSpan>
The location of the syntax item, when known
impl StructuralPartialEq for CompoundCommand
Available on crate features
serde only.Auto Trait Implementations§
impl Freeze for CompoundCommand
impl RefUnwindSafe for CompoundCommand
impl Send for CompoundCommand
impl Sync for CompoundCommand
impl Unpin for CompoundCommand
impl UnsafeUnpin for CompoundCommand
impl UnwindSafe for CompoundCommand
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.