aboutsummaryrefslogtreecommitdiff
path: root/Messages/Progress.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Messages/Progress.hs')
-rw-r--r--Messages/Progress.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/Messages/Progress.hs b/Messages/Progress.hs
index c14e7e6b1..25d803b1b 100644
--- a/Messages/Progress.hs
+++ b/Messages/Progress.hs
@@ -70,7 +70,15 @@ concurrentMetered :: Maybe MeterUpdate -> Key -> (MeterUpdate -> Annex a) -> Ann
concurrentMetered combinemeterupdate key a = withOutputType go
where
go (ConcurrentOutput _) = metered combinemeterupdate key a
- go _ = a (fromMaybe (const noop) combinemeterupdate)
+ go _ = a (fromMaybe nullMeterUpdate combinemeterupdate)
+
+{- Poll file size to display meter, but only for concurrent output. -}
+concurrentMeteredFile :: FilePath -> Maybe MeterUpdate -> Key -> Annex a -> Annex a
+concurrentMeteredFile file combinemeterupdate key a = withOutputType go
+ where
+ go (ConcurrentOutput _) = metered combinemeterupdate key $ \p ->
+ watchFileSize file p a
+ go _ = a
{- Progress dots. -}
showProgressDots :: Annex ()