Enum yash_syntax::syntax::TextUnit
source · [−]pub enum TextUnit {
Literal(char),
Backslashed(char),
RawParam {
name: String,
location: Location,
},
BracedParam(Param),
CommandSubst {
content: Rc<str>,
location: Location,
},
Backquote {
content: Vec<BackquoteUnit>,
location: Location,
},
Arith {
content: Text,
location: Location,
},
}Expand description
Element of a Text, i.e., something that can be expanded.
Variants
Literal(char)
Literal single character.
Backslashed(char)
Backslash-escaped single character.
RawParam
Fields
name: StringParameter name.
location: LocationPosition of this parameter expansion in the source code.
Parameter expansion that is not enclosed in braces.
BracedParam(Param)
Parameter expansion that is enclosed in braces.
CommandSubst
Fields
content: Rc<str>Command string that will be parsed and executed when the command substitution is expanded.
This value is reference-counted so that the shell does not have to clone the entire string when it is passed to a subshell to execute the command substitution.
location: LocationPosition of this command substitution in the source code.
Command substitution of the form $(...).
Backquote
Fields
content: Vec<BackquoteUnit>Command string that will be parsed and executed when the command substitution is expanded.
location: LocationPosition of this command substitution in the source code.
Command substitution of the form `...`.
Arith
Fields
content: TextExpression that is to be evaluated.
location: LocationPosition of this arithmetic expansion in the source code.
Arithmetic expansion.
Trait Implementations
sourceimpl MaybeLiteral for TextUnit
impl MaybeLiteral for TextUnit
sourcefn extend_if_literal<T: Extend<char>>(&self, result: T) -> Result<T, T>
fn extend_if_literal<T: Extend<char>>(&self, result: T) -> Result<T, T>
If self is Literal, appends the character to result and returns
Ok(result). Otherwise, returns Err(result).
sourcefn to_string_if_literal(&self) -> Option<String>
fn to_string_if_literal(&self) -> Option<String>
Checks if self is literal and, if so, converts to a string.
impl Eq for TextUnit
impl StructuralEq for TextUnit
impl StructuralPartialEq for TextUnit
Auto Trait Implementations
impl !RefUnwindSafe for TextUnit
impl !Send for TextUnit
impl !Sync for TextUnit
impl Unpin for TextUnit
impl !UnwindSafe for TextUnit
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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