diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-09-09 14:21:06 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-09-09 14:21:06 -0400 |
commit | 254479fb1b6cb1906729cda1f9fac76ddbeec4e5 (patch) | |
tree | 823b53c5f3cd35aa7ce760641385087b4e9a9ce3 /Messages | |
parent | 7be4468ffa5127f539712c72e202d19a9990984b (diff) |
make maybeShowJSON also add to the buffer
Diffstat (limited to 'Messages')
-rw-r--r-- | Messages/Internal.hs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Messages/Internal.hs b/Messages/Internal.hs index b8af2f73f..21d11d811 100644 --- a/Messages/Internal.hs +++ b/Messages/Internal.hs @@ -26,8 +26,13 @@ outputMessage' endmessage json msg = withMessageState $ \s -> case outputType s NormalOutput | concurrentOutputEnabled s -> concurrentMessage s False msg q | otherwise -> liftIO $ flushed $ putStr msg + JSONOutput -> void $ outputJSON json endmessage s + QuietOutput -> q + +outputJSON :: IO () -> Bool -> MessageState -> Annex Bool +outputJSON json endmessage s = case outputType s of JSONOutput - | concurrentOutputEnabled s -> + | concurrentOutputEnabled s -> do -- Buffer json fragments until end is reached. if endmessage then do @@ -38,8 +43,11 @@ outputMessage' endmessage json msg = withMessageState $ \s -> case outputType s json else Annex.changeState $ \st -> st { Annex.output = s { jsonBuffer = json : jsonBuffer s } } - | otherwise -> liftIO $ flushed json - QuietOutput -> q + return True + | otherwise -> do + liftIO $ flushed json + return True + _ -> return False outputError :: String -> Annex () outputError msg = withMessageState $ \s -> |