summaryrefslogtreecommitdiffstats
path: root/src/args.rs
diff options
context:
space:
mode:
authordana <dana@dana.is>2017-11-27 12:50:24 -0600
committerAndrew Gallant <jamslam@gmail.com>2017-11-29 12:55:42 -0500
commitd73a75d6cd82068252c35c5718900b6a1acb296e (patch)
tree7672d81e02a9e8d3e742cbeda133223594b1bf26 /src/args.rs
parent7ae1f373c2b899c7db5f8106dec4d7423b1d8364 (diff)
Omit context separators when using a contextless option like -c or -l
Fixes #693
Diffstat (limited to 'src/args.rs')
-rw-r--r--src/args.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/args.rs b/src/args.rs
index 82f7ee66..106762c4 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -153,14 +153,16 @@ impl Args {
/// Retrieve the configured file separator.
pub fn file_separator(&self) -> Option<Vec<u8>> {
- let use_heading_sep =
- self.heading
- && !self.count
- && !self.files_with_matches
- && !self.files_without_matches;
+ let contextless =
+ self.count
+ || self.files_with_matches
+ || self.files_without_matches;
+ let use_heading_sep = self.heading && !contextless;
+
if use_heading_sep {
Some(b"".to_vec())
- } else if self.before_context > 0 || self.after_context > 0 {
+ } else if !contextless
+ && (self.before_context > 0 || self.after_context > 0) {
Some(self.context_separator.clone())
} else {
None