Преглед изворни кода

fix: block's Colours trait as for file sizes

Update block's Colours trait to behave as for file sizes
Sandro-Alessio Gierens пре 2 година
родитељ
комит
299d96770e
2 измењених фајлова са 28 додато и 4 уклоњено
  1. 3 2
      src/output/render/blocks.rs
  2. 25 2
      src/theme/mod.rs

+ 3 - 2
src/output/render/blocks.rs

@@ -15,8 +15,9 @@ impl f::Blocks {
 
 
 pub trait Colours {
-    fn block_count(&self) -> Style;
-    fn no_blocks(&self) -> Style;
+    fn blocksize(&self, prefix: Option<Prefix>) -> Style;
+    fn unit(&self, prefix: Option<Prefix>)      -> Style;
+    fn no_blocksize(&self)                      -> Style;
 }
 
 

+ 25 - 2
src/theme/mod.rs

@@ -202,8 +202,31 @@ impl ExtensionMappings {
 
 
 impl render::BlocksColours for Theme {
-    fn block_count(&self)  -> Style { self.ui.blocks }
-    fn no_blocks(&self)    -> Style { self.ui.punctuation }
+    fn blocksize(&self, prefix: Option<number_prefix::Prefix>) -> Style {
+        use number_prefix::Prefix::*;
+
+        match prefix {
+            Some(Kilo | Kibi) => self.ui.size.number_kilo,
+            Some(Mega | Mebi) => self.ui.size.number_mega,
+            Some(Giga | Gibi) => self.ui.size.number_giga,
+            Some(_)           => self.ui.size.number_huge,
+            None              => self.ui.size.number_byte,
+        }
+    }
+
+    fn unit(&self, prefix: Option<number_prefix::Prefix>) -> Style {
+        use number_prefix::Prefix::*;
+
+        match prefix {
+            Some(Kilo | Kibi) => self.ui.size.unit_kilo,
+            Some(Mega | Mebi) => self.ui.size.unit_mega,
+            Some(Giga | Gibi) => self.ui.size.unit_giga,
+            Some(_)           => self.ui.size.unit_huge,
+            None              => self.ui.size.unit_byte,
+        }
+    }
+
+    fn no_blocksize(&self) -> Style { self.ui.punctuation }
 }
 
 impl render::FiletypeColours for Theme {