diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/widgets/tui_dirlist.rs | 4 | ||||
-rw-r--r-- | src/ui/widgets/tui_dirlist_detailed.rs | 4 | ||||
-rw-r--r-- | src/ui/widgets/tui_tab.rs | 18 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/ui/widgets/tui_dirlist.rs b/src/ui/widgets/tui_dirlist.rs index d4d6db4..e425706 100644 --- a/src/ui/widgets/tui_dirlist.rs +++ b/src/ui/widgets/tui_dirlist.rs @@ -45,7 +45,9 @@ impl<'a> Widget for TuiDirList<'a> { }; let area_width = area.width as usize - 1; - for (i, entry) in self.dirlist.iter() + for (i, entry) in self + .dirlist + .iter() .skip(skip_dist) .enumerate() .take(area.height as usize) diff --git a/src/ui/widgets/tui_dirlist_detailed.rs b/src/ui/widgets/tui_dirlist_detailed.rs index 7dfb1b6..8d27a92 100644 --- a/src/ui/widgets/tui_dirlist_detailed.rs +++ b/src/ui/widgets/tui_dirlist_detailed.rs @@ -46,7 +46,9 @@ impl<'a> Widget for TuiDirListDetailed<'a> { }; let area_width = area.width as usize; - for (i, entry) in self.dirlist.iter() + for (i, entry) in self + .dirlist + .iter() .skip(skip_dist) .enumerate() .take(area.height as usize) diff --git a/src/ui/widgets/tui_tab.rs b/src/ui/widgets/tui_tab.rs index 85a3b8a..f4045ed 100644 --- a/src/ui/widgets/tui_tab.rs +++ b/src/ui/widgets/tui_tab.rs @@ -20,9 +20,23 @@ impl<'a> Widget for TuiTabBar<'a> { fn render(self, area: Rect, buf: &mut Buffer) { let selected = Style::default().add_modifier(Modifier::REVERSED); + let str1 = format!("{}/{}", self.curr + 1, self.len); + let str2 = { + let space_avail = if str1.len() >= area.width as usize { + 0 + } else { + area.width as usize - str1.len() + }; + if space_avail >= self.name.len() { + self.name + } else { + &self.name[..space_avail] + } + }; let text = Spans::from(vec![ - Span::styled(format!("{}: {}", self.curr + 1, self.name), selected), - Span::raw(format!("/{}", self.len)), + Span::styled(str1, selected), + Span::styled(": ", selected), + Span::styled(str2, selected), ]); Paragraph::new(text) |