summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Peltier <pierre.peltier@adevinta.com>2019-10-23 15:52:00 +0200
committerAbin Simon <abinsimon10@gmail.com>2019-12-06 11:35:03 +0530
commit3eaf763745ee0e89f7557590da220b5c314dfc1e (patch)
treeb9706d91f533be605996f3adb33d8700996f0ba6
parent76aa327bb733f9266f031bf100fb2e66126197b9 (diff)
Split the size value and the size unit
This will allow to handle all the block in a generic way
-rw-r--r--src/display.rs19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/display.rs b/src/display.rs
index e468694..64ee76f 100644
--- a/src/display.rs
+++ b/src/display.rs
@@ -16,7 +16,8 @@ const BLANK: &str = " ";
struct PaddingRules {
user: usize,
group: usize,
- size: (usize, usize),
+ size_val: usize,
+ size_unit: usize,
date: usize,
name: usize,
name_with_symlink: usize,
@@ -52,10 +53,14 @@ fn inner_display_one_line(
if let Layout::OneLine { long: true } = flags.layout {
// Defining the padding rules is costly and so shouldn't be done several
// times. That's why it's done outside the loop.
+
+ let (size_val, size_unit) = detect_size_lengths(&metas, &flags);
+
padding_rules = Some(PaddingRules {
user: detect_user_length(&metas),
group: detect_group_length(&metas),
- size: detect_size_lengths(&metas, &flags),
+ size_val,
+ size_unit,
date: detect_date_length(&metas, &flags),
name: detect_name_length(&metas, &icons, &flags),
name_with_symlink: detect_name_with_symlink_length(&metas, &icons, &flags),
@@ -189,10 +194,14 @@ fn inner_display_tree(
if let Layout::Tree { long: true } = flags.layout {
// Defining the padding rules is costly and so shouldn't be done several
// times. That's why it's done outside the loop.
+
+ let (size_val, size_unit) = detect_size_lengths(&metas, &flags);
+
padding_rules = Some(PaddingRules {
user: detect_user_length(&metas),
group: detect_group_length(&metas),
- size: detect_size_lengths(&metas, flags),
+ size_val,
+ size_unit,
date: detect_date_length(&metas, flags),
name: detect_name_length(&metas, &icons, &flags),
name_with_symlink: detect_name_with_symlink_length(&metas, &icons, &flags),
@@ -297,8 +306,8 @@ fn get_long_output(
Block::Group => strings.push(meta.owner.render_group(colors, padding_rules.group)),
Block::Size => strings.push(meta.size.render(
colors,
- padding_rules.size.0,
- padding_rules.size.1,
+ padding_rules.size_val,
+ padding_rules.size_unit,
&flags,
)),
Block::Date => strings.push(meta.date.render(colors, padding_rules.date, &flags)),