Prefer background colour when painting icons

The rationale here is that there's more of a background colour than the foreground colour when painting text, and having a gap of no background colour in between the icon and the file name looks weird.

Fixes GH-561.
This commit is contained in:
Benjamin Sago 2020-10-24 18:29:28 +01:00
parent 67a6cdd46a
commit 976db01b3e

View file

@ -27,8 +27,16 @@ impl Icons {
}
/// Converts the style used to paint a file name into the style that should be
/// used to paint an icon.
///
/// - The background colour should be preferred to the foreground colour, as
/// if one is set, its the more “obvious” colour choice.
/// - If neither is set, just use the default style.
/// - Attributes such as bold or underline should not be used to paint the
/// icon, as they can make it look weird.
pub fn iconify_style<'a>(style: Style) -> Style {
style.foreground
style.background.or(style.foreground)
.map(Style::from)
.unwrap_or_default()
}