aboutsummaryrefslogtreecommitdiff
path: root/Messages.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-01-20 14:07:13 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-01-20 14:10:13 -0400
commit0c4e0046e72aab8216e3fe7d3f4252b1a66e1211 (patch)
treeb977261e78042cc6b11d530578a47a0d25d21359 /Messages.hs
parentb51672003cf035ba4595f45746cac343d154266f (diff)
make noMessages disable closing of json object in --json mode
This allows things like Command.Find to use noMessages and generate their own complete json objects. Previouly, Command.Find managed that only via a hack, which wasn't compatable with batch mode. Only Command.Find, Command.Smudge, and Commange.Status use noMessages currently, and none except for Command.Find are impacted by this change. Fixes find --json --batch output
Diffstat (limited to 'Messages.hs')
-rw-r--r--Messages.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/Messages.hs b/Messages.hs
index 7b4cff102..cec0cb8a3 100644
--- a/Messages.hs
+++ b/Messages.hs
@@ -36,6 +36,7 @@ module Messages (
debugEnabled,
commandProgressDisabled,
outputMessage,
+ implicitMessage,
) where
import Text.JSON
@@ -212,3 +213,9 @@ commandProgressDisabled = withOutputType $ \t -> return $ case t of
JSONOutput -> True
NormalOutput -> False
ConcurrentOutput _ -> True
+
+{- Use to show a message that is displayed implicitly, and so might be
+ - disabled when running a certian command that needs more control over its
+ - output. -}
+implicitMessage :: Annex () -> Annex ()
+implicitMessage = whenM (implicitMessages <$> Annex.getState Annex.output)