1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2025-04-24 17:12:16 +02:00

Add --no-filename flag.

When this flag is set, a filename is never shown for a match.

Closes #20
This commit is contained in:
Andrew Gallant 2016-09-24 19:23:19 -04:00
parent 7b860affbe
commit a6e3cab65a
4 changed files with 30 additions and 0 deletions

View File

@ -175,6 +175,12 @@ This is the default when more than one file is searched.
.RS .RS
.RE .RE
.TP .TP
.B \-\-no\-filename
Never show the filename for a match.
This is the default when one file is searched.
.RS
.RE
.TP
.B \-\-heading .B \-\-heading
Show the file name above clusters of matches from each file. Show the file name above clusters of matches from each file.
This is the default mode at a tty. This is the default mode at a tty.

View File

@ -114,6 +114,10 @@ the raw speed of grep.
: Prefix each match with the file name that contains it. This is the : Prefix each match with the file name that contains it. This is the
default when more than one file is searched. default when more than one file is searched.
--no-filename
: Never show the filename for a match. This is the default when
one file is searched.
--heading --heading
: Show the file name above clusters of matches from each file. : Show the file name above clusters of matches from each file.
This is the default mode at a tty. This is the default mode at a tty.

View File

@ -114,6 +114,10 @@ Less common options:
Prefix each match with the file name that contains it. This is the Prefix each match with the file name that contains it. This is the
default when more than one file is searched. default when more than one file is searched.
--no-filename
Never show the filename for a match. This is the default when
one file is searched.
--heading --heading
Show the file name above clusters of matches from each file. Show the file name above clusters of matches from each file.
This is the default mode at a tty. This is the default mode at a tty.
@ -203,6 +207,7 @@ pub struct RawArgs {
flag_no_ignore_parent: bool, flag_no_ignore_parent: bool,
flag_no_line_number: bool, flag_no_line_number: bool,
flag_no_mmap: bool, flag_no_mmap: bool,
flag_no_filename: bool,
flag_pretty: bool, flag_pretty: bool,
flag_quiet: bool, flag_quiet: bool,
flag_regexp: Vec<String>, flag_regexp: Vec<String>,
@ -321,10 +326,13 @@ impl RawArgs {
self.flag_color == "always" self.flag_color == "always"
}; };
let eol = b'\n'; let eol = b'\n';
let mut with_filename = self.flag_with_filename; let mut with_filename = self.flag_with_filename;
if !with_filename { if !with_filename {
with_filename = paths.len() > 1 || paths[0].is_dir(); with_filename = paths.len() > 1 || paths[0].is_dir();
} }
with_filename = with_filename && !self.flag_no_filename;
let mut btypes = TypesBuilder::new(); let mut btypes = TypesBuilder::new();
btypes.add_defaults(); btypes.add_defaults();
try!(self.add_types(&mut btypes)); try!(self.add_types(&mut btypes));

View File

@ -652,6 +652,18 @@ clean!(regression_65, "xyz", ".", |wd: WorkDir, mut cmd: Command| {
wd.assert_err(&mut cmd); wd.assert_err(&mut cmd);
}); });
// See: https://github.com/BurntSushi/ripgrep/issues/20
sherlock!(feature_20, "Sherlock", ".", |wd: WorkDir, mut cmd: Command| {
cmd.arg("--no-filename");
let lines: String = wd.stdout(&mut cmd);
let expected = "\
For the Doctor Watsons of this world, as opposed to the Sherlock
be, to a very large extent, the result of luck. Sherlock Holmes
";
assert_eq!(lines, expected);
});
#[test] #[test]
fn binary_nosearch() { fn binary_nosearch() {
let wd = WorkDir::new("binary_nosearch"); let wd = WorkDir::new("binary_nosearch");