diff --git a/src/args.rs b/src/args.rs index 09f924dc..63526889 100644 --- a/src/args.rs +++ b/src/args.rs @@ -1594,10 +1594,11 @@ impl ArgMatches { if self.is_present("no-filename") { false } else { + let path_stdin = Path::new("-"); self.is_present("with-filename") || self.is_present("vimgrep") || paths.len() > 1 - || paths.get(0).map_or(false, |p| p.is_dir()) + || paths.get(0).map_or(false, |p| p != path_stdin && p.is_dir()) } } } diff --git a/tests/regression.rs b/tests/regression.rs index 88f2194d..e8c915ae 100644 --- a/tests/regression.rs +++ b/tests/regression.rs @@ -706,6 +706,18 @@ rgtest!(r1203_reverse_suffix_literal, |dir: Dir, _: TestCommand| { eqnice!("153.230000\n", cmd.arg(r"\d\d\d000").arg("test").stdout()); }); +// See: https://github.com/BurntSushi/ripgrep/issues/1223 +rgtest!(r1223_no_dir_check_for_default_path, |dir: Dir, mut cmd: TestCommand| { + dir.create_dir("-"); + dir.create("a.json", "{}"); + dir.create("a.txt", "some text"); + + eqnice!( + "a.json\na.txt\n", + sort_lines(&cmd.arg("a").pipe(b"a.json\na.txt")) + ); +}); + // See: https://github.com/BurntSushi/ripgrep/issues/1259 rgtest!(r1259_drop_last_byte_nonl, |dir: Dir, mut cmd: TestCommand| { dir.create("patterns-nonl", "[foo]");