feat: fix brace expansion quoting, add test visualization, expand tes…#4
Merged
feat: fix brace expansion quoting, add test visualization, expand tes…#4
Conversation
…t suite
Brace expansion fixes:
- Fix partial quoting: "pre"{a,b}"suf" now correctly expands to preasuf prebsuf
- Fix escaped braces: \{a,b\} now correctly outputs {a,b} literally
- Add lexer segment tracking to preserve quoting boundaries across mixed
quoted/unquoted word sections
- Preserve backslashes before { and } in lexer so parser creates EscapedPart
nodes that prevent brace expansion
- Add parts-level brace expansion in expansion.py that operates on AST nodes
instead of flattened strings, with string-level fallback for cross-part braces
Test and documentation updates:
- Add ASCII stacked bar graph test results visualization to README
- Add CLAUDE.md instruction to update test visualization on each commit
- Add comprehensive test files covering arithmetic, arrays, assignments,
brace expansion, brackets, control flow, filesystem ops, globs, heredocs,
pattern substitution, redirects, special vars, var ops, word splitting,
and more
- Reorganize spec tests into per-tool directories (awk, bash, grep, jq, sed)
New commands and builtins:
- Add rmdir, time, and whoami commands
- Add getopts builtin
Interpreter and parser improvements:
- Expand interpreter builtins (control, declare, local, misc, unset)
- Improve conditionals, control flow, and expansion handling
- Enhance lexer and parser for better bash compatibility
- Update in-memory and overlay filesystem implementations
- Extend command implementations (awk, cat, grep, od, printf, pwd,
read, readlink, sed, stat, touch)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…t suite
Brace expansion fixes:
Test and documentation updates:
New commands and builtins:
Interpreter and parser improvements: