diff options
author | Andrew Gallant <jamslam@gmail.com> | 2016-09-28 07:06:34 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-28 07:06:34 -0400 |
commit | c42f97b4da940c9b5e12e28c6697ff8d42a314ee (patch) | |
tree | 59fa426e04135e62e30b825f9681230ef0a82434 | |
parent | 3550f2e29af3a3a56f0f8f7e76ef07ef5f1c8600 (diff) | |
parent | 0d9bba781661815a6c84590107dcc8e18461e323 (diff) |
Merge pull request #122 from lilydjwg/color-filename
colorize filepath at the beginning of line too
-rw-r--r-- | src/printer.rs | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/printer.rs b/src/printer.rs index 21845beb..11848830 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -274,12 +274,7 @@ impl<W: Terminal + Send> Printer<W> { self.write_file_sep(); self.write_heading(path.as_ref()); } else if !self.heading && self.with_filename { - self.write_path(path.as_ref()); - if self.null { - self.write(b"\x00"); - } else { - self.write(b":"); - } + self.write_non_heading_path(path.as_ref()); } if let Some(line_number) = line_number { self.line_number(line_number, b':'); @@ -361,6 +356,22 @@ impl<W: Terminal + Send> Printer<W> { } } + fn write_non_heading_path<P: AsRef<Path>>(&mut self, path: P) { + if self.wtr.supports_color() { + let _ = self.wtr.fg(self.color_choice.heading); + let _ = self.wtr.attr(Attr::Bold); + } + self.write_path(path.as_ref()); + if self.wtr.supports_color() { + let _ = self.wtr.reset(); + } + if self.null { + self.write(b"\x00"); + } else { + self.write(b":"); + } + } + fn line_number(&mut self, n: u64, sep: u8) { if self.wtr.supports_color() { let _ = self.wtr.fg(self.color_choice.line_number); |