diff options
author | Piotr Wach <pwach@bloomberg.net> | 2023-12-11 21:35:12 +0000 |
---|---|---|
committer | Piotr Wach <pwach@bloomberg.net> | 2023-12-19 21:13:17 +0000 |
commit | df6a02cd8fdbe693f507ab34a89227431d7c112e (patch) | |
tree | e3e64cc1653b50940d28405012fdfee984b43538 /src/interactive/widgets/mark.rs | |
parent | b23e13431dad1ed9efc6728f4c9ee8ab2254a42c (diff) |
Implements glob search mode
Diffstat (limited to 'src/interactive/widgets/mark.rs')
-rw-r--r-- | src/interactive/widgets/mark.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/interactive/widgets/mark.rs b/src/interactive/widgets/mark.rs index ffb5143..77ce1c8 100644 --- a/src/interactive/widgets/mark.rs +++ b/src/interactive/widgets/mark.rs @@ -1,12 +1,10 @@ use crate::interactive::widgets::COUNT; use crate::interactive::{ - fit_string_graphemes_with_ellipsis, path_of, widgets::entry_color, CursorDirection, + app::tree_view::TreeView, fit_string_graphemes_with_ellipsis, widgets::entry_color, + CursorDirection, }; use crosstermion::{input::Key, input::Key::*}; -use dua::{ - traverse::{Tree, TreeIndex}, - ByteFormat, -}; +use dua::{traverse::TreeIndex, ByteFormat}; use itertools::Itertools; use std::{ borrow::Borrow, @@ -77,18 +75,18 @@ impl MarkPane { pub fn toggle_index( mut self, index: TreeIndex, - tree: &Tree, + tree_view: &dyn TreeView, is_dir: bool, toggle: bool, ) -> Option<Self> { match self.marked.entry(index) { Entry::Vacant(entry) => { - if let Some(e) = tree.node_weight(index) { + if let Some(e) = tree_view.tree().node_weight(index) { let sorting_index = self.last_sorting_index + 1; self.last_sorting_index = sorting_index; entry.insert(EntryMark { size: e.size, - path: path_of(tree, index), + path: tree_view.path_of(index), index: sorting_index, num_errors_during_deletion: 0, is_dir, |