Explorar o código

Move columns to options object

Ben S %!s(int64=11) %!d(string=hai) anos
pai
achega
566ed0bba8
Modificáronse 3 ficheiros con 14 adicións e 13 borrados
  1. 0 10
      column.rs
  2. 2 3
      exa.rs
  3. 12 0
      options.rs

+ 0 - 10
column.rs

@@ -5,13 +5,3 @@ pub enum Column {
     User,
     Group,
 }
-
-pub fn defaultColumns() -> ~[Column] {
-    return ~[
-        Permissions,
-        FileSize(false),
-        User,
-        Group,
-        FileName,
-    ];
-}

+ 2 - 3
exa.rs

@@ -6,7 +6,6 @@ use std::os;
 use std::io::fs;
 
 use file::File;
-use column::defaultColumns;
 use options::Options;
 
 pub mod colours;
@@ -50,7 +49,7 @@ fn exa(options: &Options, path: Path) {
         files.reverse();
     }
 
-    let columns = defaultColumns();
+    let columns = options.columns();
 
     let table: Vec<Vec<StrBuf>> = files.iter()
         .filter(|&f| options.show(f))
@@ -58,7 +57,7 @@ fn exa(options: &Options, path: Path) {
         .collect();
 
     let lengths: Vec<Vec<uint>> = table.iter()
-        .map(|row| row.iter().map( |col| colours::strip_formatting(col).len() ).collect())
+        .map(|row| row.iter().map(|col| colours::strip_formatting(col).len() ).collect())
         .collect();
 
     let maxes: Vec<uint> = range(0, columns.len())

+ 12 - 0
options.rs

@@ -2,6 +2,7 @@ extern crate getopts;
 
 use file::File;
 use std::cmp::lexical_ordering;
+use column::{Column, Permissions, FileName, FileSize, User, Group};
 
 pub enum SortField {
     Name, Extension, Size
@@ -67,4 +68,15 @@ impl Options {
             !f.name.starts_with(".")
         }
     }
+
+    pub fn columns(&self) -> ~[Column] {
+        return ~[
+            Permissions,
+            FileSize(false),
+            User,
+            Group,
+            FileName,
+        ];
+    }
+
 }