瀏覽代碼

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.
Benjamin Sago 5 年之前
父節點
當前提交
976db01b3e
共有 1 個文件被更改,包括 9 次插入1 次删除
  1. 9 1
      src/output/icons.rs

+ 9 - 1
src/output/icons.rs

@@ -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, it’s 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()
 }