瀏覽代碼

Remove space when no file has extended attributes

There would be an extra column, and it looked unsightly. Unsightly!

This also removes the last specific style from the details view (Plain).
Ben S 10 年之前
父節點
當前提交
1bb7a4e47e
共有 1 個文件被更改,包括 9 次插入7 次删除
  1. 9 7
      src/output/details.rs

+ 9 - 7
src/output/details.rs

@@ -10,7 +10,6 @@ use users::{OSUsers, Users};
 use super::filename;
 
 use ansi_term::{ANSIString, ANSIStrings, Style};
-use ansi_term::Style::Plain;
 
 use locale;
 
@@ -213,9 +212,9 @@ impl Table {
         };
 
         let x_colour = if let f::Type::File = permissions.file_type { c.user_execute_file }
-                                                            else { c.user_execute_other };
+                                                               else { c.user_execute_other };
 
-        let string = ANSIStrings( &[
+        let mut columns = vec![
             file_type,
             bit(permissions.user_read,     "r", c.user_read),
             bit(permissions.user_write,    "w", c.user_write),
@@ -226,12 +225,15 @@ impl Table {
             bit(permissions.other_read,    "r", c.other_read),
             bit(permissions.other_write,   "w", c.other_write),
             bit(permissions.other_execute, "x", c.other_execute),
-            if permissions.attribute { c.attribute.paint("@") } else { Plain.paint(" ") },
-        ]).to_string();
+        ];
+
+        if permissions.attribute {
+            columns.push(c.attribute.paint("@"));
+        }
 
         Cell {
-            text: string,
-            length: 11,
+            text: ANSIStrings(&columns).to_string(),
+            length: columns.len(),
         }
     }