diff options
Diffstat (limited to 'src/ui/widgets/tui_topbar.rs')
-rw-r--r-- | src/ui/widgets/tui_topbar.rs | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/ui/widgets/tui_topbar.rs b/src/ui/widgets/tui_topbar.rs index eabbb96..eb9b3a0 100644 --- a/src/ui/widgets/tui_topbar.rs +++ b/src/ui/widgets/tui_topbar.rs @@ -3,7 +3,8 @@ use std::path::Path; use tui::buffer::Buffer; use tui::layout::Rect; use tui::style::{Color, Modifier, Style}; -use tui::widgets::{Paragraph, Text, Widget}; +use tui::text::{Span, Spans}; +use tui::widgets::{Paragraph, Widget, Wrap}; use crate::{HOSTNAME, USERNAME}; @@ -21,19 +22,24 @@ impl<'a> Widget for TuiTopBar<'a> { fn render(self, area: Rect, buf: &mut Buffer) { let username_style = Style::default() .fg(Color::LightGreen) - .modifier(Modifier::BOLD); + .add_modifier(Modifier::BOLD); let path_style = Style::default() .fg(Color::LightBlue) - .modifier(Modifier::BOLD); + .add_modifier(Modifier::BOLD); let curr_path_str = self.path.to_string_lossy(); - let text = [ - Text::styled(format!("{}@{} ", *USERNAME, *HOSTNAME), username_style), - Text::styled(curr_path_str, path_style), - ]; - - Paragraph::new(text.iter()).wrap(true).render(area, buf); + let text = Spans::from(vec![ + Span::styled(USERNAME.as_str(), username_style), + Span::styled("@", username_style), + Span::styled(HOSTNAME.as_str(), username_style), + Span::styled(" ", username_style), + Span::styled(curr_path_str, path_style), + ]); + + Paragraph::new(text) + .wrap(Wrap { trim: true }) + .render(area, buf); } } |