summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2020-11-02 10:37:49 -0500
committerAndrew Gallant <jamslam@gmail.com>2020-11-02 10:52:51 -0500
commit2819212f8997fbea813fdfed1e8c6bd62674dd23 (patch)
tree55459edec977b27f1e7c888a4fba678fc248e0a1
parent810be0b348b9e9070705329df40c1d182f6645f1 (diff)
printer: tweak binary detection message format
This roughly matches similar changes made in GNU grep recently.
-rw-r--r--CHANGELOG.md13
-rw-r--r--crates/printer/src/standard.rs11
-rw-r--r--tests/binary.rs16
-rw-r--r--tests/misc.rs6
4 files changed, 29 insertions, 17 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8d41ef21..d102b0df 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,19 @@ TBD
===
Unreleased changes. Release notes have not yet been written.
+In this release, a small tweak has been made to the output format when a binary
+file is detected. Previously, it looked like this:
+
+```
+Binary file FOO matches (found "\0" byte around offset XXX)
+```
+
+Now it looks like this:
+
+```
+FOO: binary file matches (found "\0" byte around offset XXX)
+```
+
Bug fixes:
* [BUG #1277](https://github.com/BurntSushi/ripgrep/issues/1277):
diff --git a/crates/printer/src/standard.rs b/crates/printer/src/standard.rs
index a0e9668a..d6844755 100644
--- a/crates/printer/src/standard.rs
+++ b/crates/printer/src/standard.rs
@@ -1358,25 +1358,24 @@ impl<'a, M: Matcher, W: WriteColor> StandardImpl<'a, M, W> {
let bin = self.searcher.binary_detection();
if let Some(byte) = bin.quit_byte() {
- self.write(b"WARNING: stopped searching binary file ")?;
if let Some(path) = self.path() {
self.write_spec(self.config().colors.path(), path.as_bytes())?;
- self.write(b" ")?;
+ self.write(b": ")?;
}
let remainder = format!(
- "after match (found {:?} byte around offset {})\n",
+ "WARNING: stopped searching binary file after match \
+ (found {:?} byte around offset {})\n",
[byte].as_bstr(),
offset,
);
self.write(remainder.as_bytes())?;
} else if let Some(byte) = bin.convert_byte() {
- self.write(b"Binary file ")?;
if let Some(path) = self.path() {
self.write_spec(self.config().colors.path(), path.as_bytes())?;
- self.write(b" ")?;
+ self.write(b": ")?;
}
let remainder = format!(
- "matches (found {:?} byte around offset {})\n",
+ "binary file matches (found {:?} byte around offset {})\n",
[byte].as_bstr(),
offset,
);
diff --git a/tests/binary.rs b/tests/binary.rs
index 89914165..d93712eb 100644
--- a/tests/binary.rs
+++ b/tests/binary.rs
@@ -40,7 +40,7 @@ rgtest!(after_match1_implicit, |dir: Dir, mut cmd: TestCommand| {
let expected = "\
hay:1:The Project Gutenberg EBook of A Study In Scarlet, by Arthur Conan Doyle
-WARNING: stopped searching binary file hay after match (found \"\\0\" byte around offset 9741)
+hay: WARNING: stopped searching binary file after match (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
@@ -53,7 +53,7 @@ rgtest!(after_match1_explicit, |dir: Dir, mut cmd: TestCommand| {
let expected = "\
1:The Project Gutenberg EBook of A Study In Scarlet, by Arthur Conan Doyle
-Binary file matches (found \"\\0\" byte around offset 9741)
+binary file matches (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
@@ -64,7 +64,7 @@ rgtest!(after_match1_stdin, |_: Dir, mut cmd: TestCommand| {
let expected = "\
1:The Project Gutenberg EBook of A Study In Scarlet, by Arthur Conan Doyle
-Binary file matches (found \"\\0\" byte around offset 9741)
+binary file matches (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.pipe(HAY));
});
@@ -85,7 +85,7 @@ rgtest!(after_match1_implicit_binary, |dir: Dir, mut cmd: TestCommand| {
let expected = "\
hay:1:The Project Gutenberg EBook of A Study In Scarlet, by Arthur Conan Doyle
-Binary file hay matches (found \"\\0\" byte around offset 9741)
+hay: binary file matches (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
@@ -200,7 +200,7 @@ rgtest!(after_match2_implicit, |dir: Dir, mut cmd: TestCommand| {
let expected = "\
hay:1:The Project Gutenberg EBook of A Study In Scarlet, by Arthur Conan Doyle
-WARNING: stopped searching binary file hay after match (found \"\\0\" byte around offset 9741)
+hay: WARNING: stopped searching binary file after match (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
@@ -240,7 +240,7 @@ rgtest!(before_match1_explicit, |dir: Dir, mut cmd: TestCommand| {
cmd.args(&["--no-mmap", "-n", "Heaven", "hay"]);
let expected = "\
-Binary file matches (found \"\\0\" byte around offset 9741)
+binary file matches (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
@@ -253,7 +253,7 @@ rgtest!(before_match1_implicit_binary, |dir: Dir, mut cmd: TestCommand| {
cmd.args(&["--no-mmap", "-n", "--binary", "Heaven", "-g", "hay"]);
let expected = "\
-Binary file hay matches (found \"\\0\" byte around offset 9741)
+hay: binary file matches (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
@@ -288,7 +288,7 @@ rgtest!(before_match2_explicit, |dir: Dir, mut cmd: TestCommand| {
cmd.args(&["--no-mmap", "-n", "a medical student", "hay"]);
let expected = "\
-Binary file matches (found \"\\0\" byte around offset 9741)
+binary file matches (found \"\\0\" byte around offset 9741)
";
eqnice!(expected, cmd.stdout());
});
diff --git a/tests/misc.rs b/tests/misc.rs
index a61be0b5..c892da5b 100644
--- a/tests/misc.rs
+++ b/tests/misc.rs
@@ -788,7 +788,7 @@ rgtest!(unrestricted3, |dir: Dir, mut cmd: TestCommand| {
cmd.arg("-uuu").arg("foo");
let expected = "\
-Binary file hay matches (found \"\\0\" byte around offset 3)
+hay: binary file matches (found \"\\0\" byte around offset 3)
";
eqnice!(expected, cmd.stdout());
});
@@ -1001,7 +1001,7 @@ rgtest!(binary_convert, |dir: Dir, mut cmd: TestCommand| {
cmd.arg("--no-mmap").arg("foo").arg("file");
let expected = "\
-Binary file matches (found \"\\0\" byte around offset 3)
+binary file matches (found \"\\0\" byte around offset 3)
";
eqnice!(expected, cmd.stdout());
});
@@ -1011,7 +1011,7 @@ rgtest!(binary_convert_mmap, |dir: Dir, mut cmd: TestCommand| {
cmd.arg("--mmap").arg("foo").arg("file");
let expected = "\
-Binary file matches (found \"\\0\" byte around offset 3)
+binary file matches (found \"\\0\" byte around offset 3)
";
eqnice!(expected, cmd.stdout());
});