diff options
author | Sebastian Thiel <sthiel@thoughtworks.com> | 2019-06-08 05:00:01 +0530 |
---|---|---|
committer | Sebastian Thiel <sthiel@thoughtworks.com> | 2019-06-08 05:05:16 +0530 |
commit | b4a2e0ee8f267ee50f92433e826fa9e42ff618db (patch) | |
tree | 5a9676e7204d8fba0a8adbd975c8afeca35b100b /src/interactive/widgets/mark.rs | |
parent | b4669c0214a1bc858cf437a65583af7e4b9ec277 (diff) |
Pune/India: more prominent selection in mark pane
Diffstat (limited to 'src/interactive/widgets/mark.rs')
-rw-r--r-- | src/interactive/widgets/mark.rs | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/src/interactive/widgets/mark.rs b/src/interactive/widgets/mark.rs index 5f0255d..ec115cf 100644 --- a/src/interactive/widgets/mark.rs +++ b/src/interactive/widgets/mark.rs @@ -1,5 +1,6 @@ -use crate::interactive::{ - fit_string_graphemes_with_ellipsis, widgets::COLOR_MARKED_LIGHT, CursorDirection, +use crate::{ + interactive::widgets::{COLOR_BYTESIZE_SELECTED, COLOR_MARKED_LIGHT}, + interactive::{fit_string_graphemes_with_ellipsis, CursorDirection}, }; use dua::{ path_of, @@ -146,9 +147,15 @@ impl MarkPane { .sorted_by_key(|v| &v.index) .enumerate() .map(|(idx, v)| { - let modifier = match selected { - Some(selected) if idx == selected => Modifier::BOLD, - _ => Modifier::empty(), + let (default_style, is_selected) = match selected { + Some(selected) if idx == selected => ( + Style { + bg: Color::White, + ..Default::default() + }, + true, + ), + _ => (Style::default(), false), }; let (path, path_len) = { let path = format!(" {} ", v.path.display()); @@ -168,9 +175,12 @@ impl MarkPane { let path = Text::Styled( path.into(), Style { - fg: COLOR_MARKED_LIGHT, - modifier, - ..Style::default() + fg: if is_selected { + Color::Black + } else { + COLOR_MARKED_LIGHT + }, + ..default_style }, ); let bytes = Text::Styled( @@ -181,11 +191,15 @@ impl MarkPane { ) .into(), Style { - fg: Color::Green, - ..Default::default() + fg: if is_selected { + COLOR_BYTESIZE_SELECTED + } else { + Color::Green + }, + ..default_style }, ); - let spacer = Text::Raw( + let spacer = Text::Styled( format!( "{:-space$}", "", @@ -194,6 +208,7 @@ impl MarkPane { .saturating_sub(format.total_width()) ) .into(), + default_style, ); vec![path, spacer, bytes] }); |