globset: support nested alternates

For example, `**/{node_modules/**/*/{ts,js},crates/**/*.{rs,toml}`.

I originally didn't add this I think for implementation simplicity, but
it turns out that it really isn't much work to do. There might have also
been some odd behavior in the regex engine for dealing with empty
alternates, but that has all been long fixed.

Closes #3048, Closes #3112
This commit is contained in:
Luke Sandberg
2025-05-12 14:51:25 -07:00
committed by Andrew Gallant
parent b0c6d4c34a
commit 5f5da48307
3 changed files with 51 additions and 29 deletions

View File

@@ -37,6 +37,8 @@ Feature enhancements:
When using multithreading, schedule files to search in order given on CLI.
* [FEATURE #2943](https://github.com/BurntSushi/ripgrep/issues/2943):
Add `aarch64` release artifacts for Windows.
* [FEATURE #3048](https://github.com/BurntSushi/ripgrep/pull/3048):
Globs in ripgrep (and the `globset` crate) now support nested alternates.
14.1.1 (2024-09-08)