From 8b0e483c0f41ee964261dfc49904bb8af9c8c1b4 Mon Sep 17 00:00:00 2001 From: Benjamin Sago Date: Tue, 22 Aug 2017 18:06:42 +0100 Subject: [PATCH] More ls_colors parsing --- src/output/lsc.rs | 160 ++++++++++++++++++++++++++++++---------------- 1 file changed, 104 insertions(+), 56 deletions(-) diff --git a/src/output/lsc.rs b/src/output/lsc.rs index 177f4cd..22a42ed 100644 --- a/src/output/lsc.rs +++ b/src/output/lsc.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + use std::collections::HashMap; use ansi_term::Style; @@ -5,7 +7,7 @@ use ansi_term::Colour::*; pub struct LSColors<'var> { - contents: HashMap<&'var str, &'var str> + contents: HashMap<&'var str, &'var str> } impl<'var> LSColors<'var> { @@ -17,23 +19,83 @@ impl<'var> LSColors<'var> { .take(3) .collect::>(); - if bits.len() == 2 { Some((bits[0], bits[1])) } - else { None } + if bits.len() != 2 || bits[0].is_empty() || bits[1].is_empty() { None } + else { Some( (bits[0], bits[1]) ) } }).collect(); LSColors { contents } } fn get(&self, facet_name: &str) -> Option