summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Grigoriev <ilyagr@users.noreply.github.com>2021-03-09 14:12:15 -0800
committerAndrew Gallant <jamslam@gmail.com>2021-05-31 21:51:18 -0400
commit51d2db7f19c2855f8d83901a04425335a036325c (patch)
treee2572ab26ee2edcc6ae663390e28ca16ef49f3c9
parentb3a6a69f9d6eb00f4ce8fa5dfc4f2ac2327e75e1 (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.md2
-rw-r--r--crates/core/app.rs7
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