summaryrefslogtreecommitdiffstats
path: root/src/file_browser.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-02-05 21:15:07 +0100
committerrabite <rabite@posteo.de>2019-02-05 21:25:10 +0100
commit09b50562ece43e6b8dc202def224b521268ad875 (patch)
treea717576edccb791f5b1d054d697cd94d8e6d3bd8 /src/file_browser.rs
parent1826fced28630d5b3d7db6db49198549fe45e168 (diff)
more robust handling of cjk characters
Diffstat (limited to 'src/file_browser.rs')
-rw-r--r--src/file_browser.rs7
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();