summaryrefslogtreecommitdiffstats
path: root/src/interactive/widgets/mark.rs
diff options
context:
space:
mode:
authorPiotr Wach <pwach@bloomberg.net>2023-12-11 21:35:12 +0000
committerPiotr Wach <pwach@bloomberg.net>2023-12-19 21:13:17 +0000
commitdf6a02cd8fdbe693f507ab34a89227431d7c112e (patch)
treee3e64cc1653b50940d28405012fdfee984b43538 /src/interactive/widgets/mark.rs
parentb23e13431dad1ed9efc6728f4c9ee8ab2254a42c (diff)
Implements glob search mode
Diffstat (limited to 'src/interactive/widgets/mark.rs')
-rw-r--r--src/interactive/widgets/mark.rs14
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,