From cd7156013d9c7e808d745c0c80b863e638d391bd Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sun, 29 Nov 2020 13:24:14 -0800 Subject: [PATCH] check-dupes: return a non-zero exit code on failure --- hledger/Hledger/Cli/Commands/Checkdupes.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hledger/Hledger/Cli/Commands/Checkdupes.hs b/hledger/Hledger/Cli/Commands/Checkdupes.hs index 5a9467b47..128d12cf8 100755 --- a/hledger/Hledger/Cli/Commands/Checkdupes.hs +++ b/hledger/Hledger/Cli/Commands/Checkdupes.hs @@ -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