feat: add support for brace expansion in glob patterns #52
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.
📌 Summary
Previously, our glob pattern implementation only supported Unix shell–style patterns such as *, ?, **, and character classes like [a-z]. However, it did not support brace expansions (e.g., .{ts,java}), which limited pattern expressiveness for users.
This change adds support for brace expansion, allowing glob patterns like:
src/{main,test}.rs → matches src/main.rs and src/test.rs
images/{.jpg,.png} → matches all .jpg and .png files in images/
Nested braces like {a,{b,c}} are also supported (to the extent of the underlying glob implementation)
This enhancement improves compatibility with more expressive glob patterns and aligns our behavior with broader glob syntax expectations.
🔍 Related Issues
🛠️ Testing Steps