clear progress bar before displaying messages
In particular this clears it before "transfer stalled". If an external special remote uses showInfo while progress is displayed, it will also improve display of that. Generally this will avoid all such problems in the future.. Sponsored-by: Svenne Krap on Patreon
This commit is contained in:
parent
e055ffe18e
commit
7c7225e257
2 changed files with 9 additions and 7 deletions
|
@ -124,14 +124,12 @@ showSideAction m = Annex.getState Annex.output >>= go
|
|||
where
|
||||
go st
|
||||
| sideActionBlock st == StartBlock = do
|
||||
go' st
|
||||
go'
|
||||
let st' = st { sideActionBlock = InBlock }
|
||||
Annex.changeState $ \s -> s { Annex.output = st' }
|
||||
| sideActionBlock st == InBlock = return ()
|
||||
| otherwise = go' st
|
||||
go' st = do
|
||||
liftIO $ clearProgressMeter st
|
||||
outputMessage JSON.none $ encodeBS' $ "(" ++ m ++ "...)\n"
|
||||
| otherwise = go'
|
||||
go' = outputMessage JSON.none $ encodeBS' $ "(" ++ m ++ "...)\n"
|
||||
|
||||
showStoringStateAction :: Annex ()
|
||||
showStoringStateAction = showSideAction "recording state in git"
|
||||
|
|
|
@ -25,8 +25,12 @@ outputMessage = outputMessage' bufferJSON
|
|||
outputMessage' :: (JSONBuilder -> MessageState -> Annex Bool) -> JSONBuilder -> S.ByteString -> Annex ()
|
||||
outputMessage' jsonoutputter jsonbuilder msg = withMessageState $ \s -> case outputType s of
|
||||
NormalOutput
|
||||
| concurrentOutputEnabled s -> concurrentMessage s False (decodeBS msg) q
|
||||
| otherwise -> liftIO $ flushed $ S.putStr msg
|
||||
| concurrentOutputEnabled s -> do
|
||||
liftIO $ clearProgressMeter s
|
||||
concurrentMessage s False (decodeBS msg) q
|
||||
| otherwise -> do
|
||||
liftIO $ clearProgressMeter s
|
||||
liftIO $ flushed $ S.putStr msg
|
||||
JSONOutput _ -> void $ jsonoutputter jsonbuilder s
|
||||
QuietOutput -> q
|
||||
SerializedOutput h _ -> do
|
||||
|
|
Loading…
Add table
Reference in a new issue