diff options
author | rabite <rabite@posteo.de> | 2019-02-01 01:37:16 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-01 01:37:16 +0100 |
commit | 1e6719fe3368068217968fe0b637604668cb7764 (patch) | |
tree | 31e57e54794db716079bbaff2df9bc6177b942b9 /src/listview.rs | |
parent | b7bbcff2840f5b0b0b46f9188ae45be0075f9864 (diff) |
improved string handling
Diffstat (limited to 'src/listview.rs')
-rw-r--r-- | src/listview.rs | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/listview.rs b/src/listview.rs index 9ec3a6c..0cbdd63 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -89,15 +89,18 @@ where let xsize = self.get_size().xsize(); let sized_string = term::sized_string(&name, xsize); - let padded_string = format!("{:padding$}", sized_string, padding = xsize as usize); - let styled_string = match &file.color { - Some(color) => format!("{}{}", term::from_lscolor(color), &padded_string), - _ => format!("{}{}", term::normal_color(), padded_string), - }; - format!( "{}{}{}{}{}", - styled_string, + match &file.color { + Some(color) => format!("{}{:padding$}", + term::from_lscolor(color), + &sized_string, + padding = xsize as usize), + _ => format!("{}{:padding$}", + term::normal_color(), + &sized_string, + padding = xsize as usize), + } , term::highlight_color(), term::cursor_left(size.to_string().width() + unit.width()), size, @@ -204,6 +207,14 @@ where None => self.show_status(""), } } + + fn render(&self) -> Vec<String> { + self.content + .files + .par_iter() + .map(|file| self.render_line(&file)) + .collect() + } } impl Widget for ListView<Files> { @@ -232,13 +243,7 @@ impl Widget for ListView<Files> { fn refresh(&mut self) { self.buffer = self.render(); } - fn render(&self) -> Vec<String> { - self.content - .files - .par_iter() - .map(|file| self.render_line(&file)) - .collect() - } + fn get_drawlist(&self) -> String { let mut output = term::reset(); |