From a5a5f229acf746682ef46573f277d599f8028380 Mon Sep 17 00:00:00 2001 From: Austin Riba Date: Mon, 26 Aug 2024 13:28:44 -0700 Subject: [PATCH] Fix poor formatting and smelly code in format_permissions --- src/tab.rs | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 2302b34..cfc90dd 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -220,41 +220,30 @@ fn format_permissions_owner(metadata: &Metadata, owner: PermissionOwner) -> Stri }; } fn format_permissions(metadata: &Metadata, owner: PermissionOwner) -> String { - let readable = match owner { + let mut perms: Vec = Vec::new(); + if match owner { PermissionOwner::Owner => metadata.permissions().readable_by_owner(), PermissionOwner::Group => metadata.permissions().readable_by_group(), PermissionOwner::Other => metadata.permissions().readable_by_other(), - }; - let writeable = match owner { + } { + perms.push(fl!("read")); + } + if match owner { PermissionOwner::Owner => metadata.permissions().writable_by_owner(), PermissionOwner::Group => metadata.permissions().writable_by_group(), PermissionOwner::Other => metadata.permissions().writable_by_other(), - }; - let executable = match owner { + } { + perms.push(fl!("write")); + } + if match owner { PermissionOwner::Owner => metadata.permissions().executable_by_owner(), PermissionOwner::Group => metadata.permissions().executable_by_group(), PermissionOwner::Other => metadata.permissions().executable_by_other(), - }; - format!( - "{} {} {}", - if readable { - fl!("read") - } else { - String::from("") - }, - if writeable { - fl!("write") - } else { - String::from("") - }, - if executable { - fl!("execute") - } else { - String::from("") - } - ) - .trim_end() - .to_string() + } { + perms.push(fl!("execute")); + } + + perms.join(" ") } #[cfg(not(target_os = "windows"))]