Shell Expansion Expansion
This issue will track the progress of the shell expansion rewrite that I am now working on.
-
Rewrite the Word Iterator -
Array -
Array Variable -
ArrayMethod -
Brace -
Variable -
ArrayVariable -
StringMethod -
Process -
Array Process -
Tilde -
Normal -
Whitespace -
Handle Quoting
-
-
Rewrite Brace Expansion -
Enable braces within braces -
Collect words before and after before expanding -
Implement brace ranges
-
-
Rewrite Variable Expansion -
Migrate Let into Grammar -
Migrate Export into Grammar -
Make Arrays First Class Citizens -
Array Slicing -
Slice by ID -
Slice by Range -
Slice with Expression
-
-
Improve Syntax Validation Layer -
Rewrite Tests & Add More Tests
Once complete, performance should also further improve. Most of the CPU time spent in the shell is within this module, and the new design should require much less CPU time and be easier to read / maintain.