disable rule when grid enabled, and print warning

This commit is contained in:
Tom Milligan 2020-10-12 08:40:01 +01:00
parent d7da4f5f2b
commit 3015ebfba1
No known key found for this signature in database
GPG Key ID: BFF10895C45328D2
1 changed files with 14 additions and 4 deletions

View File

@ -288,8 +288,8 @@ impl App {
fn style_components(&self) -> Result<StyleComponents> {
let matches = &self.matches;
Ok(StyleComponents(
if matches.value_of("decorations") == Some("never") {
let mut styled_components =
StyleComponents(if matches.value_of("decorations") == Some("never") {
HashSet::new()
} else if matches.is_present("number") {
[StyleComponent::LineNumbers].iter().cloned().collect()
@ -323,7 +323,17 @@ impl App {
acc.extend(components.iter().cloned());
acc
})
},
))
});
// If `grid` is set, remove `rule` as it is a subset of `grid`, and print a warning.
if styled_components.grid() && styled_components.0.remove(&StyleComponent::Rule) {
use ansi_term::Colour::Yellow;
eprintln!(
"{}: Style 'rule' is a subset of style 'grid', 'rule' will not be visible.",
Yellow.paint("[bat warning]"),
);
}
Ok(styled_components)
}
}