Modif : CLI.Command.{Print => Journal}.
[comptalang.git] / cli / Hcompta / CLI / Args.hs
index 09153c4bfc7d49c61aee355e6be973a57469a67b..43d04595443a368e752be7524a773aa42b0011e3 100644 (file)
@@ -1,6 +1,8 @@
 {-# LANGUAGE TupleSections #-}
 module Hcompta.CLI.Args where
 
+import qualified Data.List
+import qualified Data.Text.Lazy as TL
 import           System.Console.GetOpt
                  ( getOpt
                  , ArgOrder(..)
@@ -9,6 +11,8 @@ import           System.Console.GetOpt
 
 import           Hcompta.CLI.Context (Context)
 import qualified Hcompta.CLI.Write as Write
+import           Hcompta.Lib.Leijen ((<>))
+import qualified Hcompta.Lib.Leijen as W
 
 type Options context
  = [OptDescr (Context -> context -> IO context)]
@@ -22,7 +26,9 @@ parse
 parse context usage options (ctx, args) =
        case getOpt RequireOrder options args of
         (parsers, cmds, []) -> do
-               foldl (\acc parser -> acc >>= parser context) (return ctx) parsers
+               Data.List.foldl' (\acc parser -> acc >>= parser context) (return ctx) parsers
                >>= return . (, cmds)
         (_, _, errs) -> do
-               usage >>= Write.fatal context . (concat errs ++)
+               usage >>= Write.fatal context .
+                       (W.vsep (map (W.text .TL.pack) errs) <>) .
+                       W.text . TL.pack