Expand description
Defines abstract representations of the shell source.
Modules§
- builder
- Defines an interfaces to receive parse data and construct ASTs.
Structs§
- AndOr
List - A nonempty list of
AndOr
commands, e.g.foo && bar || baz
. - Atomic
TopLevel Command - A top-level representation of a shell command. Uses
Arc
wrappers for function declarations. - Atomic
TopLevel Word - A top-level representation of a shell word. Uses
Arc
wrappers for function declarations. - Compound
Command - A class of commands where redirection is applied to a command group.
- Guard
Body Pair - A grouping of guard and body commands.
- Pattern
Body Pair - A grouping of patterns and body commands.
- Simple
Command - The simplest possible command: an executable with arguments, environment variable assignments, and redirections.
- TopLevel
Command - A top-level representation of a shell command. Uses
Rc
wrappers for function declarations. - TopLevel
Word - A top-level representation of a shell word. Uses
Rc
wrappers for function declarations.
Enums§
- AndOr
- A command which conditionally runs based on the exit status of the previous command.
- Arithmetic
- Represents an expression within an arithmetic subsitution.
- Command
- Represents any valid shell command.
- Complex
Word - Represents whitespace delimited text.
- Compound
Command Kind - A specific kind of a
CompoundCommand
. - Listable
Command - Commands that can be used within an and/or list.
- Parameter
- Represents reading a parameter (or variable) value, e.g.
$foo
. - Parameter
Substitution - A parameter substitution, e.g.
${param-word}
. - Pipeable
Command - Commands that can be used within a pipeline.
- Redirect
- Represents redirecting a command’s file descriptors.
- Redirect
OrCmd Word - Represents a parsed redirect or a defined command or command argument.
- Redirect
OrEnv Var - Represents a parsed redirect or a defined environment variable at the start of a command.
- Simple
Word - Represents the smallest fragment of any text.
- Word
- Represents whitespace delimited single, double, or non quoted text.
Type Aliases§
- Atomic
Command List - A type alias over an and/or list of conventional shell commands.
- Atomic
Shell Pipeable Command - A type alias for the default hiearchy to represent pipeable commands,
using
Arc
wrappers around function declarations. - Command
List - A type alias over an and/or list of conventional shell commands.
- Default
AndOr List - Type alias for the default
AndOrList
representation. - Default
Arithmetic - Type alias for the default
Arithmetic
representation. - Default
Command - Type alias for the default
Command
representation. - Default
Complex Word - Type alias for the default
ComplexWord
representation. - Default
Compound Command - Type alias for the default
CompoundCommandKind
representation. - Default
Compound Command Kind - Type alias for the default
CompoundCommandKind
representation. - Default
Listable Command - Type alias for the default
ListableCommand
representation. - Default
Parameter - Type alias for the default
Parameter
representation. - Default
Parameter Substitution - Type alias for the default
ParameterSubstitution
representation. - Default
Pipeable Command - Type alias for the default
PipeableCommand
representation. - Default
Redirect - Type alias for the default
Redirect
representation. - Default
Simple Command - Type alias for the default
SimpleCommand
representation. - Default
Simple Word - Type alias for the default
SimpleWord
representation. - Default
Word - Type alias for the default
Word
representation. - Shell
Compound Command - A type alias for the default hiearchy for representing compound shell commands.
- Shell
Pipeable Command - A type alias for the default hiearchy to represent pipeable commands,
using
Rc
wrappers around function declarations. - Shell
Word - A type alias for the default hiearchy for representing shell words.