summaryrefslogtreecommitdiffstats
path: root/src/interactive/app/terminal.rs
diff options
context:
space:
mode:
authorSebastian Thiel <sebastian.thiel@icloud.com>2024-01-21 17:25:07 +0100
committerSebastian Thiel <sebastian.thiel@icloud.com>2024-01-21 17:25:07 +0100
commitf70d1a8e6ace812a7949cd7d0299507b71306d48 (patch)
treecee9e52898f075bc7857b35a981843dfca0c624f /src/interactive/app/terminal.rs
parent322eeb1aa07dacdc82e147bae64f8bfd4d758e1d (diff)
parent9d976d0d76fcf45d1e0672bc5c1533b000a46ebf (diff)
fix: Explicit refreshes with 'r and 'R' now work with multiple root paths as will.
This can happen in cases of `dua i root-a root-b` for instance.
Diffstat (limited to 'src/interactive/app/terminal.rs')
-rw-r--r--src/interactive/app/terminal.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/interactive/app/terminal.rs b/src/interactive/app/terminal.rs
index f29834f..2a8deb5 100644
--- a/src/interactive/app/terminal.rs
+++ b/src/interactive/app/terminal.rs
@@ -28,6 +28,7 @@ impl TerminalApp {
terminal: &mut Terminal<B>,
walk_options: WalkOptions,
byte_format: ByteFormat,
+ input: Vec<PathBuf>,
) -> Result<TerminalApp>
where
B: Backend,
@@ -38,7 +39,7 @@ impl TerminalApp {
let display = DisplayOptions::new(byte_format);
let window = MainWindow::default();
- let mut state = AppState::new(walk_options);
+ let mut state = AppState::new(walk_options, input);
let traversal = Traversal::new();
let stats = TraversalStats::default();
@@ -61,8 +62,8 @@ impl TerminalApp {
Ok(app)
}
- pub fn traverse(&mut self, input: Vec<PathBuf>) -> Result<()> {
- self.state.traverse(&self.traversal, input)?;
+ pub fn traverse(&mut self) -> Result<()> {
+ self.state.traverse(&self.traversal)?;
Ok(())
}
@@ -100,15 +101,13 @@ mod tests {
B: Backend,
{
while self.state.scan.is_some() {
- if let Some(res) = self.state.process_event(
+ self.state.process_event(
&mut self.window,
&mut self.traversal,
&mut self.display,
terminal,
&events,
- )? {
- return Ok(res);
- }
+ )?;
}
Ok(WalkResult {
num_errors: self.stats.io_errors,