summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2016-12-30 16:24:09 -0500
committerAndrew Gallant <jamslam@gmail.com>2017-01-01 01:03:21 -0500
commit163e00677aaf7af8c32ec2cfd699e8d26bf8437c (patch)
tree32525bd68ec98d7ed1a87da2669d24823c9982c5 /src
parentd58236fbdcd3708f63d6a2eb9836cf1389916788 (diff)
Update to regex 0.2.
Diffstat (limited to 'src')
-rw-r--r--src/args.rs2
-rw-r--r--src/printer.rs19
2 files changed, 13 insertions, 8 deletions
diff --git a/src/args.rs b/src/args.rs
index 4048b119..9ce572ac 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -473,7 +473,7 @@ impl<'a> ArgMatches<'a> {
/// unchanged.
fn literal_pattern(&self, pat: String) -> String {
if self.is_present("fixed-strings") {
- regex::quote(&pat)
+ regex::escape(&pat)
} else {
pat
}
diff --git a/src/printer.rs b/src/printer.rs
index 6b88ace5..96b0444b 100644
--- a/src/printer.rs
+++ b/src/printer.rs
@@ -210,15 +210,20 @@ impl<W: WriteColor> Printer<W> {
let column =
if self.column {
Some(re.find(&buf[start..end])
- .map(|(s, _)| s).unwrap_or(0) as u64)
+ .map(|m| m.start()).unwrap_or(0) as u64)
} else {
None
};
return self.write_match(
re, path, buf, start, end, line_number, column);
}
- for (s, _) in re.find_iter(&buf[start..end]) {
- let column = if self.column { Some(s as u64) } else { None };
+ for m in re.find_iter(&buf[start..end]) {
+ let column =
+ if self.column {
+ Some(m.start() as u64)
+ } else {
+ None
+ };
self.write_match(
re, path.as_ref(), buf, start, end, line_number, column);
}
@@ -265,12 +270,12 @@ impl<W: WriteColor> Printer<W> {
return;
}
let mut last_written = 0;
- for (s, e) in re.find_iter(buf) {
- self.write(&buf[last_written..s]);
+ for m in re.find_iter(buf) {
+ self.write(&buf[last_written..m.start()]);
let _ = self.wtr.set_color(self.colors.matched());
- self.write(&buf[s..e]);
+ self.write(&buf[m.start()..m.end()]);
let _ = self.wtr.reset();
- last_written = e;
+ last_written = m.end();
}
self.write(&buf[last_written..]);
}