Skip to content

feat: fix brace expansion quoting, add test visualization, expand tes…#4

Merged
dbreunig merged 1 commit intomainfrom
ralph-commit
Jan 26, 2026
Merged

feat: fix brace expansion quoting, add test visualization, expand tes…#4
dbreunig merged 1 commit intomainfrom
ralph-commit

Conversation

@dbreunig
Copy link
Copy Markdown
Owner

…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)

…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)
@dbreunig dbreunig merged commit aa46c4b into main Jan 26, 2026
0 of 3 checks passed
@dbreunig dbreunig deleted the ralph-commit branch January 26, 2026 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant