make maybeShowJSON also add to the buffer
This commit is contained in:
parent
089c592977
commit
4a09b4bbbd
2 changed files with 13 additions and 9 deletions
|
@ -155,15 +155,11 @@ indent = intercalate "\n" . map (\l -> " " ++ l) . lines
|
|||
|
||||
{- Shows a JSON chunk only when in json mode. -}
|
||||
maybeShowJSON :: JSONChunk v -> Annex ()
|
||||
maybeShowJSON v = withMessageState $ \s -> case outputType s of
|
||||
JSONOutput -> liftIO $ JSON.add v
|
||||
_ -> return ()
|
||||
maybeShowJSON v = void $ withMessageState $ outputJSON (JSON.add v) False
|
||||
|
||||
{- Shows a complete JSON value, only when in json mode. -}
|
||||
showFullJSON :: JSONChunk v -> Annex Bool
|
||||
showFullJSON v = withMessageState $ \s -> case outputType s of
|
||||
JSONOutput -> liftIO $ JSON.complete v >> return True
|
||||
_ -> return False
|
||||
showFullJSON v = withMessageState $ outputJSON (JSON.complete v) True
|
||||
|
||||
{- Performs an action that outputs nonstandard/customized output, and
|
||||
- in JSON mode wraps its output in JSON.start and JSON.end, so it's
|
||||
|
|
|
@ -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 ->
|
||||
|
|
Loading…
Reference in a new issue