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 Clone for CompoundCommand
impl Clone for CompoundCommand
Source§fn clone(&self) -> CompoundCommand
fn clone(&self) -> CompoundCommand
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompoundCommand
impl Debug for CompoundCommand
Source§impl<'de> Deserialize<'de> for CompoundCommand
impl<'de> Deserialize<'de> for CompoundCommand
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompoundCommand, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompoundCommand, <__D as Deserializer<'de>>::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
impl Node for CompoundCommand
Source§impl PartialEq for CompoundCommand
impl PartialEq for CompoundCommand
Source§impl Serialize for CompoundCommand
impl Serialize for CompoundCommand
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
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
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.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> ⓘ
Converts
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> ⓘ
Converts
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