diff options
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | Messages/JSON.hs | 6 |
2 files changed, 8 insertions, 1 deletions
@@ -10,6 +10,9 @@ git-annex (6.20180113) UNRELEASED; urgency=medium requires it. * Add gpg-agent to Build-Depends. Needed to run the test suite. + * --json: When there are multiple lines of notes about a file, make the note + field multiline, rather than the old behavior of only including the + last line. -- Joey Hess <id@joeyh.name> Wed, 24 Jan 2018 20:42:55 -0400 diff --git a/Messages/JSON.hs b/Messages/JSON.hs index 6ca3c1383..9b9ca67cf 100644 --- a/Messages/JSON.hs +++ b/Messages/JSON.hs @@ -75,8 +75,12 @@ end b (Just (o, _)) = Just (HM.insert "success" (toJSON b) o, True) end _ Nothing = Nothing note :: String -> JSONBuilder -note s (Just (o, e)) = Just (HM.insert "note" (toJSON s) o, e) note _ Nothing = Nothing +note s (Just (o, e)) = Just (HM.insertWith combinelines "note" (toJSON s) o, e) + where + combinelines (String new) (String old) = + String (old <> T.pack "\n" <> new) + combinelines new _old = new info :: String -> JSONBuilder info s _ = Just (o, True) |