check-dupes: return a non-zero exit code on failure

This commit is contained in:
Simon Michael 2020-11-29 13:24:14 -08:00
parent ee026f5442
commit cd7156013d

View File

@ -14,6 +14,8 @@ import Hledger
import Hledger.Cli.CliOptions
import System.Console.CmdArgs.Explicit
import Text.Printf
import System.Exit (exitFailure)
import Control.Monad (when)
checkdupesmode :: Mode RawOpts
checkdupesmode = hledgerCommandMode
@ -23,7 +25,11 @@ checkdupesmode = hledgerCommandMode
hiddenflags
([], Nothing)
checkdupes _opts j = mapM_ render $ checkdupes' $ accountsNames j
checkdupes _opts j = do
let dupes = checkdupes' $ accountsNames j
when (not $ null dupes) $ do
mapM_ render dupes
exitFailure
accountsNames :: Journal -> [(String, AccountName)]
accountsNames j = map leafAndAccountName as