From 6367dd61ba5bd215f99a71564691b14aeab15a4e Mon Sep 17 00:00:00 2001 From: Andrew Gallant Date: Fri, 23 Sep 2016 17:11:09 -0400 Subject: [PATCH] Column numbers should start at 1. ripgrep was documented to do 1-based indexing, so this is a bug and not a breaking change. Fixes #18 --- src/printer.rs | 2 +- tests/tests.rs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/printer.rs b/src/printer.rs index 65905f9..9a0dd1e 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -213,7 +213,7 @@ impl Printer { self.line_number(line_number, b':'); } if let Some(c) = column { - self.write(c.to_string().as_bytes()); + self.write((c + 1).to_string().as_bytes()); self.write(b":"); } if self.replace.is_some() { diff --git a/tests/tests.rs b/tests/tests.rs index 693c74b..e2aedc3 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -66,8 +66,8 @@ sherlock!(columns, |wd: WorkDir, mut cmd: Command| { cmd.arg("--column"); let lines: String = wd.stdout(&mut cmd); let expected = "\ -57:For the Doctor Watsons of this world, as opposed to the Sherlock -49:be, to a very large extent, the result of luck. Sherlock Holmes +58:For the Doctor Watsons of this world, as opposed to the Sherlock +50:be, to a very large extent, the result of luck. Sherlock Holmes "; assert_eq!(lines, expected); }); @@ -574,10 +574,10 @@ sherlock!(vimgrep, "Sherlock|Watson", ".", |wd: WorkDir, mut cmd: Command| { let lines: String = wd.stdout(&mut cmd); let expected = "\ -sherlock:1:15:For the Doctor Watsons of this world, as opposed to the Sherlock -sherlock:1:56:For the Doctor Watsons of this world, as opposed to the Sherlock -sherlock:3:48:be, to a very large extent, the result of luck. Sherlock Holmes -sherlock:5:11:but Doctor Watson has to have it taken out for him and dusted, +sherlock:1:16:For the Doctor Watsons of this world, as opposed to the Sherlock +sherlock:1:57:For the Doctor Watsons of this world, as opposed to the Sherlock +sherlock:3:49:be, to a very large extent, the result of luck. Sherlock Holmes +sherlock:5:12:but Doctor Watson has to have it taken out for him and dusted, "; assert_eq!(lines, expected); });