summaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/tui_footer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widgets/tui_footer.rs')
-rw-r--r--src/ui/widgets/tui_footer.rs18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/ui/widgets/tui_footer.rs b/src/ui/widgets/tui_footer.rs
index 1bf9c2a..d340983 100644
--- a/src/ui/widgets/tui_footer.rs
+++ b/src/ui/widgets/tui_footer.rs
@@ -7,6 +7,7 @@ use tui::widgets::{Paragraph, Widget};
use crate::fs::{JoshutoDirList, LinkType};
use crate::util::format;
use crate::util::unix;
+use crate::THEME_T;
pub struct TuiFooter<'a> {
dirlist: &'a JoshutoDirList,
@@ -41,9 +42,20 @@ impl<'a> Widget for TuiFooter<'a> {
Span::raw(size_str),
];
- if let LinkType::Symlink(s) = entry.metadata.link_type() {
- text.push(Span::styled(" -> ", mode_style));
- text.push(Span::styled(s, mode_style));
+ if let LinkType::Symlink(target, valid) = entry.metadata.link_type() {
+ let link_style = if *valid {
+ Style::default()
+ .fg(THEME_T.link.fg)
+ .bg(THEME_T.link.bg)
+ .add_modifier(THEME_T.link.modifier)
+ } else {
+ Style::default()
+ .fg(THEME_T.link_invalid.fg)
+ .bg(THEME_T.link_invalid.bg)
+ .add_modifier(THEME_T.link_invalid.modifier)
+ };
+ text.push(Span::styled(" -> ", link_style));
+ text.push(Span::styled(target, link_style));
}
Paragraph::new(Spans::from(text)).render(area, buf);