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
This commit is contained in:
Joey Hess 2016-01-20 14:07:13 -04:00
parent 7aac76d40e
commit 70b8cad9c8
Failed to extract signature
7 changed files with 26 additions and 11 deletions

View file

@ -24,6 +24,7 @@ data SideActionBlock = NoBlock | StartBlock | InBlock
data MessageState = MessageState
{ outputType :: OutputType
, sideActionBlock :: SideActionBlock
, implicitMessages :: Bool
#ifdef WITH_CONCURRENTOUTPUT
, consoleRegion :: Maybe ConsoleRegion
, consoleRegionErrFlag :: Bool
@ -35,6 +36,7 @@ instance Default MessageState
def = MessageState
{ outputType = NormalOutput
, sideActionBlock = NoBlock
, implicitMessages = True
#ifdef WITH_CONCURRENTOUTPUT
, consoleRegion = Nothing
, consoleRegionErrFlag = False