diff options
author | Pierre Peltier <pierre.peltier@adevinta.com> | 2019-10-23 15:52:00 +0200 |
---|---|---|
committer | Abin Simon <abinsimon10@gmail.com> | 2019-12-06 11:35:03 +0530 |
commit | 3eaf763745ee0e89f7557590da220b5c314dfc1e (patch) | |
tree | b9706d91f533be605996f3adb33d8700996f0ba6 /src | |
parent | 76aa327bb733f9266f031bf100fb2e66126197b9 (diff) |
Split the size value and the size unit
This will allow to handle all the block in a generic way
Diffstat (limited to 'src')
-rw-r--r-- | src/display.rs | 19 |
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)), |