From 6857cd64a864841784934f45ff736378b29df4d1 Mon Sep 17 00:00:00 2001 From: Justin Le Date: Wed, 7 Jun 2017 07:03:13 -0700 Subject: [PATCH] Fixing bs/is/cf --flat regressions (#566) * fixing bs/is/cf --flat regressions * fixed Tree forcing for non-period reports --- hledger/Hledger/Cli/BalanceView.hs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/hledger/Hledger/Cli/BalanceView.hs b/hledger/Hledger/Cli/BalanceView.hs index 161376391..29c32196d 100644 --- a/hledger/Hledger/Cli/BalanceView.hs +++ b/hledger/Hledger/Cli/BalanceView.hs @@ -168,6 +168,19 @@ balanceviewReport BalanceView{..} CliOpts{command_=cmd, reportopts_=ropts, rawop PeriodChange -> "(Balance Changes)" CumulativeChange -> "(Cumulative Ending Balances)" HistoricalBalance -> "(Historical Ending Balances)" - ropts' = ropts { balancetype_ = balancetype } + ropts' = treeIfNotPeriod $ ropts { balancetype_ = balancetype } + -- For --historical/--cumulative, we must use multiBalanceReport. + -- (This forces --no-elide.) + -- These settings format the output in a way that we can convert to + -- a normal balance report using singleBalanceReport. See + -- Balance.hs for more information. + treeIfNotPeriod + | flat_ ropts = id + | otherwise = case (balancetype, interval_ ropts) of + (HistoricalBalance, NoInterval) -> \o -> + o { accountlistmode_ = ALTree } + (CumulativeChange , NoInterval) -> \o -> + o { accountlistmode_ = ALTree } + _ -> id merging (Table hLeft hTop dat) (Table hLeft' _ dat') = Table (T.Group DoubleLine [hLeft, hLeft']) hTop (dat ++ dat')