diff options
author | rabite <rabite@posteo.de> | 2019-02-05 21:15:07 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-05 21:25:10 +0100 |
commit | 09b50562ece43e6b8dc202def224b521268ad875 (patch) | |
tree | a717576edccb791f5b1d054d697cd94d8e6d3bd8 /src/file_browser.rs | |
parent | 1826fced28630d5b3d7db6db49198549fe45e168 (diff) |
more robust handling of cjk characters
Diffstat (limited to 'src/file_browser.rs')
-rw-r--r-- | src/file_browser.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/file_browser.rs b/src/file_browser.rs index 2f0904d..aa23b22 100644 --- a/src/file_browser.rs +++ b/src/file_browser.rs @@ -167,14 +167,19 @@ impl Widget for FileBrowser { self.refresh(); } fn render_header(&self) -> String { + let xsize = self.get_coordinates().xsize(); let file = self.selected_file(); let name = &file.name; + let color = if file.is_dir() || file.color.is_none() { crate::term::highlight_color() } else { crate::term::from_lscolor(file.color.as_ref().unwrap()) }; let path = file.path.parent().unwrap().to_string_lossy().to_string(); - format!("{}/{}{}", path, &color, name ) + + let pretty_path = format!("{}/{}{}", path, &color, name ); + let sized_path = crate::term::sized_string(&pretty_path, xsize); + sized_path } fn refresh(&mut self) { self.columns.refresh(); |