Modif : CLI.Command.Balance : meilleur affichage
authorJulien Moutinho <julm+hcompta@autogeree.net>
Fri, 8 May 2015 01:23:34 +0000 (03:23 +0200)
committerJulien Moutinho <julm+hcompta@autogeree.net>
Sat, 9 May 2015 13:15:39 +0000 (15:15 +0200)
cli/Hcompta/CLI/Command/Balance.hs

index a3007d16a90cd5d9f205a3c23d0d308d0fa8fc2c..865e5b19b85ad0fed1ef560652f9ae8a5746851c 100644 (file)
@@ -101,8 +101,9 @@ run context args = do
                Ledger.Write.put with_color IO.stdout $ do
                        let (max_amount_length, accounts) = write_accounts expanded
                        accounts <> do
-                       W.bold $ W.dullblack $
-                               W.text (TL.pack $ replicate max_amount_length '-') <> W.line <> do
+                       (W.bold $ W.dullblack $
+                               W.text (TL.pack $ replicate max_amount_length '-') <>
+                               (if max_amount_length <= 0 then W.empty else W.line)) <> do
                        write_amounts max_amount_length $
                                Data.Map.map Balance.amount $
                                (Balance.by_unit balance)
@@ -134,10 +135,10 @@ write_accounts accounts = do
                                then do
                                        W.fill (max_amount_length - Ledger.Write.amount_length amount) W.empty <> do
                                        Ledger.Write.amount amount <> do
-                                       W.space <> do
+                                       W.space <> W.space <> do
                                        Ledger.Write.account Posting.Type_Regular account
                                else do
-                                       (W.text "+" <> W.space) <> do
+                                       (W.bold $ W.dullblack $ W.text "+" <> W.space) <> do
                                        W.fill (max_amount_length - Ledger.Write.amount_length amount - 2) W.empty <> do
                                        Ledger.Write.amount amount) <> do
                                W.line
@@ -155,7 +156,7 @@ write_amounts max_amount_length_ amounts = do
                then W.space <> W.space
                else W.empty) <> do
        W.intercalate
-        (W.line <> W.text "+" <> W.space)
+        (W.line <> (W.bold $ W.dullblack $ W.text "+") <> W.space)
         (\amount ->
                let len =
                        max_amount_length
@@ -164,4 +165,4 @@ write_amounts max_amount_length_ amounts = do
                W.fill len W.empty <> do
                Ledger.Write.amount amount)
         amounts <> do
-       W.line
+       (if Data.Map.null amounts then W.empty else W.line)