Bladeren bron

Merge pull request #597 from FliegendeWurst/bugfixes

Two small bugfixes
Benjamin Sago 6 jaren geleden
bovenliggende
commit
416818fda2
2 gewijzigde bestanden met toevoegingen van 7 en 4 verwijderingen
  1. 5 2
      src/options/view.rs
  2. 2 2
      src/output/escape.rs

+ 5 - 2
src/options/view.rs

@@ -81,7 +81,7 @@ impl Mode {
 
             // If the terminal width couldn’t be matched for some reason, such
             // as the program’s stdout being connected to a file, then
-            // fallback to the lines view.
+            // fallback to the lines or details view.
             else if matches.has(&flags::TREE)? {
                 let details = details::Options {
                     table: None,
@@ -92,7 +92,10 @@ impl Mode {
 
                 Ok(Mode::Details(details))
             }
-            else {
+            else if matches.has(&flags::LONG)? {
+                let details = long()?;
+                Ok(Mode::Details(details))
+            } else {
                 let lines = lines::Options { icons: matches.has(&flags::ICONS)?, };
                 Ok(Mode::Lines(lines))
             }

+ 2 - 2
src/output/escape.rs

@@ -2,7 +2,7 @@ use ansi_term::{ANSIString, Style};
 
 
 pub fn escape<'a>(string: String, bits: &mut Vec<ANSIString<'a>>, good: Style, bad: Style) {
-    if string.chars().all(|c| c >= 0x20 as char) {
+    if string.chars().all(|c| c >= 0x20 as char && c != 0x7f as char) {
         bits.push(good.paint(string));
     }
     else {
@@ -10,7 +10,7 @@ pub fn escape<'a>(string: String, bits: &mut Vec<ANSIString<'a>>, good: Style, b
             // The `escape_default` method on `char` is *almost* what we want here, but
             // it still escapes non-ASCII UTF-8 characters, which are still printable.
 
-            if c >= 0x20 as char {
+            if c >= 0x20 as char && c != 0x7f as char {
                 // TODO: This allocates way too much,
                 // hence the `all` check above.
                 let mut s = String::new();