JustBash.Parser.WordParts.Expansion (JustBash v0.4.0)
View SourceParses shell expansions: $VAR, ${VAR}, $((expr)), $(cmd), cmd.
Handles all forms of parameter expansion including:
- Simple: $VAR, ${VAR}
- Default values: ${VAR:-default}, ${VAR:=default}
- Substring: ${VAR:offset:length}
- Pattern removal: ${VAR#pattern}, ${VAR%pattern}
- Pattern replacement: ${VAR/pattern/replacement}
- Case modification: ${VAR^^}, ${VAR,,}
- Length: ${#VAR}
- Indirection: ${!VAR}
Summary
Functions
Parse an expansion starting at position start (pointing to $).
Returns {ast_node, end_index}.
Parse a backtick command substitution starting at start.
Functions
@spec parse(String.t(), non_neg_integer()) :: {JustBash.AST.word_part(), non_neg_integer()}
Parse an expansion starting at position start (pointing to $).
Returns {ast_node, end_index}.
@spec parse_backtick(String.t(), non_neg_integer()) :: {JustBash.AST.word_part(), non_neg_integer()}
Parse a backtick command substitution starting at start.