From f518da747ccac338be26b5ab3bdc11bfc7bbb375 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 9 Jul 2020 12:56:46 -0700 Subject: [PATCH] balcmds: avoid short month names in multi-year monthly reports --- hledger-lib/Hledger/Reports/BudgetReport.hs | 6 ++-- tests/balance/budget.test | 2 +- tests/balance/pretty.test | 14 ++++----- tests/balance/transpose.test | 8 ++--- tests/forecast.test | 34 ++++++++++----------- 5 files changed, 33 insertions(+), 31 deletions(-) diff --git a/hledger-lib/Hledger/Reports/BudgetReport.hs b/hledger-lib/Hledger/Reports/BudgetReport.hs index f6d1e0c64..9422e0c02 100644 --- a/hledger-lib/Hledger/Reports/BudgetReport.hs +++ b/hledger-lib/Hledger/Reports/BudgetReport.hs @@ -317,8 +317,10 @@ budgetReportAsTable reportPeriodName :: BalanceType -> [DateSpan] -> DateSpan -> String reportPeriodName balancetype spans = case balancetype of - PeriodChange -> showDateSpanMonthAbbrev - _ -> maybe "" (showDate . prevday) . spanEnd + PeriodChange -> if multiyear then showDateSpan else showDateSpanMonthAbbrev + where + multiyear = (>1) $ length $ nubSort $ map spanStartYear spans + _ -> maybe "" (showDate . prevday) . spanEnd -- tests diff --git a/tests/balance/budget.test b/tests/balance/budget.test index 2e69dd8fb..9448fc157 100644 --- a/tests/balance/budget.test +++ b/tests/balance/budget.test @@ -340,7 +340,7 @@ P 2018/01/26 SHARE €10 $ hledger -f - bal -M --budget --cumulative --forecast -V Budget performance in 2018-05-01..2018-06-30, valued at period ends: - || May Jun + || 2018-05-31 2018-06-30 ================++========================================== || €-10 €-10 assets || €10 €10 [ 0] diff --git a/tests/balance/pretty.test b/tests/balance/pretty.test index 5020678e2..9862ccb75 100644 --- a/tests/balance/pretty.test +++ b/tests/balance/pretty.test @@ -2,11 +2,11 @@ hledger -f balance-multicol.journal balance --pretty-tables -M >>> Balance changes in 2012-12-01..2013-03-31: - ║ Dec Jan Feb Mar -═════════════════╬════════════════════ - assets ║ 0 0 1 0 - assets:cash ║ 0 0 1 0 - assets:checking ║ 10 0 0 1 -─────────────────╫──────────────────── - ║ 10 0 2 1 + ║ 2012-12 2013-01 2013-02 2013-03 +═════════════════╬════════════════════════════════════ + assets ║ 0 0 1 0 + assets:cash ║ 0 0 1 0 + assets:checking ║ 10 0 0 1 +─────────────────╫──────────────────────────────────── + ║ 10 0 2 1 >>>=0 diff --git a/tests/balance/transpose.test b/tests/balance/transpose.test index 692a798d0..58b5f7870 100644 --- a/tests/balance/transpose.test +++ b/tests/balance/transpose.test @@ -4,10 +4,10 @@ Balance changes in 2012-12-01..2013-03-31: || assets assets:cash assets:checking | =========++======================================+==== - Dec || 0 0 10 | 10 - Jan || 0 0 0 | 0 - Feb || 1 1 0 | 2 - Mar || 0 0 1 | 1 + 2012-12 || 0 0 10 | 10 + 2013-01 || 0 0 0 | 0 + 2013-02 || 1 1 0 | 2 + 2013-03 || 0 0 1 | 1 Average || 0 0 3 | 3 >>>=0 diff --git a/tests/forecast.test b/tests/forecast.test index 0773b25a5..580d9815a 100644 --- a/tests/forecast.test +++ b/tests/forecast.test @@ -18,16 +18,16 @@ hledger bal -M -b 2016-11 -e 2017-02 -f - --forecast >>> Balance changes in 2016-12-01..2017-01-31: - || Dec Jan -==================++=============== - assets:cash || $-600 $935 - expenses:food || 0 $20 - expenses:grocery || 0 $30 - expenses:housing || $600 0 - expenses:leisure || 0 $15 - income || 0 $-1000 -------------------++--------------- - || 0 0 + || 2016-12 2017-01 +==================++================== + assets:cash || $-600 $935 + expenses:food || 0 $20 + expenses:grocery || 0 $30 + expenses:housing || $600 0 + expenses:leisure || 0 $15 + income || 0 $-1000 +------------------++------------------ + || 0 0 >>>2 >>>=0 @@ -171,13 +171,13 @@ hledger bal -M -b 2016-10 -e 2017-02 -f - --forecast=20160801- >>> Balance changes in 2016-10-01..2017-01-31: - || Oct Nov Dec Jan -==================++================================ - assets:cash || $1000 $1000 $400 $1000 - expenses:housing || 0 0 $600 0 - income || $-1000 $-1000 $-1000 $-1000 -------------------++-------------------------------- - || 0 0 0 0 + || 2016-10 2016-11 2016-12 2017-01 +==================++==================================== + assets:cash || $1000 $1000 $400 $1000 + expenses:housing || 0 0 $600 0 + income || $-1000 $-1000 $-1000 $-1000 +------------------++------------------------------------ + || 0 0 0 0 >>>2 >>>=0