summaryrefslogtreecommitdiffstats
path: root/src/interactive/app/state.rs
diff options
context:
space:
mode:
authorSebastian Thiel <sebastian.thiel@icloud.com>2024-01-10 09:00:02 +0100
committerPiotr Wach <pwach@bloomberg.net>2024-01-10 20:48:54 +0000
commit0ad90ba23e59b98ccca198ce075e582c93d13c5c (patch)
treefa659bf4a6df5259ccb39fea2773d0ab33d7dd81 /src/interactive/app/state.rs
parent85005ce364b08066a76ab2a8743ce18b4662fa3c (diff)
make WalkOptions available in State so it can re-use it for additional walks.
Diffstat (limited to 'src/interactive/app/state.rs')
-rw-r--r--src/interactive/app/state.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/interactive/app/state.rs b/src/interactive/app/state.rs
index b303531..5dcdbff 100644
--- a/src/interactive/app/state.rs
+++ b/src/interactive/app/state.rs
@@ -1,6 +1,7 @@
use std::collections::HashSet;
use dua::traverse::BackgroundTraversal;
+use dua::WalkOptions;
use crate::interactive::widgets::Column;
@@ -22,7 +23,6 @@ pub struct Cursor {
pub y: u16,
}
-#[derive(Default)]
pub struct AppState {
pub navigation: Navigation,
pub glob_navigation: Option<Navigation>,
@@ -33,4 +33,22 @@ pub struct AppState {
pub focussed: FocussedPane,
pub received_events: bool,
pub active_traversal: Option<BackgroundTraversal>,
+ pub walk_options: WalkOptions,
+}
+
+impl AppState {
+ pub fn new(walk_options: WalkOptions) -> Self {
+ AppState {
+ navigation: Default::default(),
+ glob_navigation: None,
+ entries: vec![],
+ sorting: Default::default(),
+ show_columns: Default::default(),
+ message: None,
+ focussed: Default::default(),
+ received_events: false,
+ active_traversal: None,
+ walk_options,
+ }
+ }
}