diff options
Diffstat (limited to 'src/ui/widgets/tui_dirlist.rs')
-rw-r--r-- | src/ui/widgets/tui_dirlist.rs | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/src/ui/widgets/tui_dirlist.rs b/src/ui/widgets/tui_dirlist.rs index d4c7db1..8f75317 100644 --- a/src/ui/widgets/tui_dirlist.rs +++ b/src/ui/widgets/tui_dirlist.rs @@ -68,33 +68,25 @@ impl<'a> Widget for TuiDirList<'a> { buf.set_stringn(x, y + i as u16, name, area_width - 1, style); buf.set_string(x + area_width as u16 - 1, y + i as u16, "…", style); } + } else if name_width < area_width { + buf.set_stringn(x, y + i as u16, name, area_width, style); } else { - if name_width < area_width { - buf.set_stringn(x, y + i as u16, name, area_width, style); - } else { - match name.rfind('.') { - None => { - buf.set_stringn(x, y + i as u16, name, area_width, style); - } - Some(p_ind) => { - let ext_width = name[p_ind..].width(); - let file_name_width = area_width - ext_width - 1; + match name.rfind('.') { + None => { + buf.set_stringn(x, y + i as u16, name, area_width, style); + } + Some(p_ind) => { + let ext_width = name[p_ind..].width(); + let file_name_width = area_width - ext_width - 1; - buf.set_stringn( - x, - y + i as u16, - &name[..p_ind], - file_name_width, - style, - ); - buf.set_string(x + file_name_width as u16, y + i as u16, "…", style); - buf.set_string( - x + file_name_width as u16 + 1, - y + i as u16, - &name[p_ind..], - style, - ); - } + buf.set_stringn(x, y + i as u16, &name[..p_ind], file_name_width, style); + buf.set_string(x + file_name_width as u16, y + i as u16, "…", style); + buf.set_string( + x + file_name_width as u16 + 1, + y + i as u16, + &name[p_ind..], + style, + ); } } } |