cli: add --no-ignore-files flag

The purpose of this flag is to force ripgrep to ignore all --ignore-file
flags (whether they come before or after --no-ignore-files).

This flag can be overridden with --ignore-files.

Fixes #1466
This commit is contained in:
Andrew Gallant
2020-03-15 11:04:47 -04:00
parent 447506ebe0
commit c4c43c733e
5 changed files with 70 additions and 6 deletions

View File

@@ -754,7 +754,7 @@ rgtest!(f1414_no_require_git, |dir: Dir, mut cmd: TestCommand| {
});
// See: https://github.com/BurntSushi/ripgrep/pull/1420
rgtest!(f1420_no_ignore_dot, |dir: Dir, mut cmd: TestCommand| {
rgtest!(f1420_no_ignore_exclude, |dir: Dir, mut cmd: TestCommand| {
dir.create_dir(".git/info");
dir.create(".git/info/exclude", "foo");
dir.create("bar", "");
@@ -765,6 +765,28 @@ rgtest!(f1420_no_ignore_dot, |dir: Dir, mut cmd: TestCommand| {
eqnice!("bar\nfoo\n", cmd.arg("--no-ignore-exclude").stdout());
});
// See: https://github.com/BurntSushi/ripgrep/pull/1466
rgtest!(f1466_no_ignore_files, |dir: Dir, mut cmd: TestCommand| {
dir.create(".myignore", "bar");
dir.create("bar", "");
dir.create("foo", "");
// Test that --no-ignore-files disables --ignore-file.
// And that --ignore-files overrides --no-ignore-files.
cmd.arg("--sort").arg("path").arg("--files");
eqnice!("bar\nfoo\n", cmd.stdout());
eqnice!("foo\n", cmd.arg("--ignore-file").arg(".myignore").stdout());
eqnice!("bar\nfoo\n", cmd.arg("--no-ignore-files").stdout());
eqnice!("foo\n", cmd.arg("--ignore-files").stdout());
// Test that the -u flag does not disable --ignore-file.
let mut cmd = dir.command();
cmd.arg("--sort").arg("path").arg("--files");
cmd.arg("--ignore-file").arg(".myignore");
eqnice!("foo\n", cmd.stdout());
eqnice!("foo\n", cmd.arg("-u").stdout());
});
rgtest!(no_context_sep, |dir: Dir, mut cmd: TestCommand| {
dir.create("test", "foo\nctx\nbar\nctx\nfoo\nctx");
cmd.args(&["-A1", "--no-context-separator", "foo", "test"]);