diff options
author | Ilya Grigoriev <ilyagr@users.noreply.github.com> | 2021-03-09 14:12:15 -0800 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2021-05-31 21:51:18 -0400 |
commit | 51d2db7f19c2855f8d83901a04425335a036325c (patch) | |
tree | e2572ab26ee2edcc6ae663390e28ca16ef49f3c9 | |
parent | b3a6a69f9d6eb00f4ce8fa5dfc4f2ac2327e75e1 (diff) |
doc: document '{a,b}' glob syntax
This syntax does not exist in `git`, so it is not documented in `man
gitignore`. There is a question of whether it *should* exist, but as
long as it does, it should be documented somewhere.
See also:
https://github.com/BurntSushi/ripgrep/issues/1221
https://github.com/BurntSushi/ripgrep/issues/1368
Closes #1816
-rw-r--r-- | CHANGELOG.md | 2 | ||||
-rw-r--r-- | crates/core/app.rs | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 071371a9..e74c844d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,8 @@ Bug fixes: Clarify that CLI invocation must always be valid, regardless of config file. * [BUG #1741](https://github.com/BurntSushi/ripgrep/issues/1741): Fix stdin detection when using PowerShell in UNIX environments. +* [BUG #1816](https://github.com/BurntSushi/ripgrep/issues/1816): + Add documentation for glob alternate syntax, e.g., `{a,b,..}`. * [BUG #1847](https://github.com/BurntSushi/ripgrep/issues/1847): Clarify how the `--hidden` flag works. * [BUG #1866](https://github.com/BurntSushi/ripgrep/issues/1866#issuecomment-841635553): diff --git a/crates/core/app.rs b/crates/core/app.rs index 41128c5f..0e799d08 100644 --- a/crates/core/app.rs +++ b/crates/core/app.rs @@ -1358,6 +1358,13 @@ used. Globbing rules match .gitignore globs. Precede a glob with a ! to exclude it. If multiple globs match a file or directory, the glob given later in the command line takes precedence. +As an extension, globs support specifying alternatives: *-g ab{c,d}* is +equivalet to *-g abc -g abd*. Empty alternatives like *-g ab{,c}* are not +currently supported. Note that this syntax extension is also currently enabled +in gitignore files, even though this syntax isn't supported by git itself. +ripgrep may disable this syntax extension in gitignore files, but it will +always remain available via the -g/--glob flag. + When this flag is set, every file and directory is applied to it to test for a match. So for example, if you only want to search in a particular directory 'foo', then *-g foo* is incorrect because 'foo/bar' does not match the glob |