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)
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
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
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)