From c1b7a6474be421ec13afdce18f972a13f13e8d92 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 17 May 2021 11:59:26 +0100 Subject: [PATCH] progress: Provide termprogress::clear() Signed-off-by: Ian Jackson --- src/termprogress.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/termprogress.rs b/src/termprogress.rs index 8fa4b5c1..db6f5a4f 100644 --- a/src/termprogress.rs +++ b/src/termprogress.rs @@ -11,6 +11,7 @@ type Col = usize; pub trait Reporter { fn report(&mut self, pi: &ProgressInfo<'_>); + fn clear(&mut self); } pub struct NullReporter; @@ -18,6 +19,7 @@ pub struct NullReporter; #[allow(unused_variables)] impl Reporter for NullReporter { fn report(&mut self, pi: &ProgressInfo<'_>) { } + fn clear(&mut self) { } } pub fn new() -> Box { @@ -99,6 +101,11 @@ impl Reporter for TermReporter { } self.term.flush().unwrap_or(()); } + + fn clear(&mut self) { + self.clear_line(); + self.term.flush().unwrap_or(()); + } } impl TermReporter { @@ -149,7 +156,6 @@ impl TermReporter { impl Drop for TermReporter { fn drop(&mut self) { - self.clear_line(); - self.term.flush().unwrap_or(()); + self.clear(); } } -- 2.30.2