Commit Graph

8814 Commits

Author SHA1 Message Date
Michael Sanders
278032bc8d ;doc: Revise doc for & operator 2020-07-07 12:51:01 -07:00
Michael Sanders
868c6fdbac csv: Add docs and integration test for & operator 2020-07-07 12:51:01 -07:00
Michael Sanders
5ec0a518da csv: Add support for & operators in conditional blocks 2020-07-07 12:51:01 -07:00
Simon Michael
95ee601548 ;regen manuals 2020-07-07 10:19:56 -07:00
Simon Michael
eee9402ba8 add: fix help - arguments are inputs, not a query 2020-07-07 10:10:13 -07:00
Simon Michael
81d3ac7d66 ;csv: doc: fix some if-related links 2020-07-06 15:03:06 -07:00
Simon Michael
0bbd88fe7f ;doc: changelogs 2020-07-05 09:24:16 -07:00
Simon Michael
25c15d4bab bal --budget: elide multicommodity amounts 2020-07-05 06:59:16 -07:00
Simon Michael
3b6a8b0956 ui: register: elide multicommodity amounts 2020-07-05 06:59:16 -07:00
Simon Michael
44c3eb1904 add a color argument to most amount show helpers, drop cshow variants
This is an API change, but it seems better than having additional
colour-supporting variants and trying to avoid duplicated code.
I stopped short of changing showAmount, so cshowAmount still exists.
2020-07-05 06:59:16 -07:00
Simon Michael
2739a70a38 balcmds: elide amounts with 3 or more commodities, unless --no-elide
Multicolumn balance reports showing many commodities tend to become
unreadably wide, especially in tree mode. Now by default we show at
most two commodities, and a count of the rest if there are more than
two. This should help keep reports somewhat readable by default.
2020-07-05 06:59:16 -07:00
Simon Michael
1a321c9ae0 ;fix balance sorting test (#1279) 2020-07-05 06:58:33 -07:00
Simon Michael
7881edfce1 stack: bump default stack file to lts 16 2020-07-05 06:54:38 -07:00
Simon Michael
3575cd5958 stack: simplify 8.10 stack file, use stackage nightly 2020-07-05 06:52:16 -07:00
Simon Michael
3d57d4793d ;doc: regen manuals 2020-07-04 16:17:13 -07:00
Simon Michael
aea0dac235 bal: warn about #1279 in manual 2020-07-04 16:13:35 -07:00
Simon Michael
04d26e1f2f bal: a needed test for sorting by amount (#1279) 2020-07-04 16:07:30 -07:00
Stephen Morgan
c811ea4c7b lib, cli, ui, web: intopt and friends now make sure their arguments fit
inside bounds.
2020-07-03 12:35:51 -07:00
Stephen Morgan
c96947284e lib: Minor refactor. 2020-07-03 12:35:51 -07:00
Simon Michael
765fb732c9 debug: move command parsing debug output down to level 8 2020-07-03 11:37:01 -07:00
Simon Michael
6cc896a8fe debug: show aliasing and auto postings with other reading (level 7) 2020-07-03 11:30:52 -07:00
Simon Michael
e2bccf8645 ;bin: better script install instructions 2020-06-28 10:00:36 -07:00
Simon Michael
caa004889b ;bin: update stack url 2020-06-28 09:55:24 -07:00
Simon Michael
88b03e73cd ;bin: better script install instructions 2020-06-28 09:53:34 -07:00
Simon Michael
ecbc9aa0cf ;bin: better script install instructions 2020-06-28 09:52:51 -07:00
Simon Michael
fea7a1faf4 bin: hledger-check: use stack script command 2020-06-28 09:35:05 -07:00
Stephen Morgan
4fc72328d2 lib, cli: Introduce convienience function compoundBalanceReport. 2020-06-28 07:29:49 -07:00
Stephen Morgan
604868cea5 lib, cli: Move CompoundBalanceReport into ReportTypes, compoundReportWith into MultiBalanceReport, share postings amongst subreports. 2020-06-28 07:29:49 -07:00
Stephen Morgan
d09a90b38b lib: Refactor multiBalanceReportWith into getPostingsbyColumn and generateMultiBalanceReport. 2020-06-28 07:29:49 -07:00
Simon Michael
1f707ab0d8 ;ci: linux: disable unreliable artifact upload causing CI failures
Also we don't need artifacts for every GHC version and every PR.
2020-06-25 18:07:02 -07:00
Stephen Morgan
e089358758 lib: Using --drop in tree mode with boring parent ellision no longer considers all parents boring. Add tests to check this fact. 2020-06-25 18:05:50 -07:00
Stephen Morgan
015492553e lib: Move unifyMixedAmount to Hledger.Data.Amount, make it return Maybe Amount, export it. 2020-06-24 10:24:11 -07:00
Simon Michael
e090e0f949 add lower bound needed for aeson, to help cabal (#1268) 2020-06-23 14:55:42 -07:00
Simon Michael
d4dd20c989 ;roadmap: correctness features 2020-06-23 11:58:43 -07:00
Simon Michael
55a1a0e60e ;roadmap updates 2020-06-23 08:18:01 -07:00
Simon Michael
0308b859a4 ;roadmap updates 2020-06-23 08:12:39 -07:00
Simon Michael
ba5177a9ff ;roadmap updates 2020-06-23 08:09:27 -07:00
Stephen Morgan
b3cd865786 lib: Add fortnightly as a synonym for biweekly. 2020-06-23 06:48:20 -07:00
Simon Michael
e0fab4f882
Merge pull request #1256 from Xitian9/balanceReport
SMorgan: 
This PR aims to accomplish two major goals:

-    Get boring parent ellision working for multiBalanceReport
-    Remove the special BalanceReport code, and just use multiBalanceReport

I believe it does both, with the following additional benefits:

    A refactor of multiBalanceReportWith, to make the structure easier to follow, and with a clearer division of responsibilities
    All decisions for how an account name is to be displayed are now made in multiBalanceReport, rather than scattered around the code base
    Some miscellaneous improvements in account name rendering, including --drop now working with MultiBalanceReports, and addressing some of #373

Algorithmic changes:

-    Using HashMap AccountName (Map DateSpan Account) instead of [[MixedAmount]] is new. I admit I didn't profile this change (though given the nubs and lookups, I thought it was appropriate), so I'm glad it produces a speedup.
-    Producing the starting balances no longer calls the whole balanceReport, just the first few functions to get what it needs.
-    displayedAccounts is completely rewritten. Perhaps one subtle thing to note is that in tree mode it no longer excludes nodes with zero inclusive balance unless they also have zero exclusive balance.

SMichael: 
I'll mark the passing of the old multiBalanceReport, into which I poured many an hour :). It is in a way the heart (brain ?) of hledger - the key feature of ledgerlikes (balance report) and a key improvement introduced by hledger (tabular multiperiod balance reports). You have split that 300-line though well documented function into modular parts, which could be a little harder to understand in detail but are easier to understand in the large and more amenable to further refactoring. Then you fixed some old limitations (boring parent eliding in multi period balance reports, --drop with tree mode reports), allowing us to drop the old balanceReport and focus on just the new multiBalanceReport. And for representing the tabular data you replaced the semantically correct but inefficient list of lists with a map of maps, speeding up many-columned balance reports significantly (~40%). Last and not least you made it really easy to review. Thanks @Xitian9, great work.
2020-06-23 06:42:22 -07:00
Stephen Morgan
ded4f42218 lib: multiBalanceReport: Accounts with no subaccounts are never interesting parents, even if no_elide_ is set. 2020-06-23 13:19:52 +10:00
Simon Michael
b804167c9f ;ci: push: build incrementally again, stale CI file seems resolved 2020-06-22 16:12:04 -07:00
Simon Michael
0284c4cc1c ;ci: push: temporarily rebuild all for strange test failures 2020-06-22 15:51:37 -07:00
Simon Michael
67a480f60d ;csv: fix functional tests breakage on mac 2020-06-22 15:44:49 -07:00
Simon Michael
a0f944a0a2 ;ci: release: stop running every push, creating junk releases 2020-06-22 15:39:31 -07:00
Stephen Morgan
7a74fc4f21 lib: Elide account if more components are dropped than exist. 2020-06-22 13:41:22 -07:00
Simon Michael
176011905e ;changelogs 2020-06-22 12:24:01 -07:00
Simon Michael
368297102d ;regen manuals 2020-06-22 12:20:14 -07:00
Dmitry Astapov
c8a84e3c96 cli: print -O sql 2020-06-22 12:17:33 -07:00
Stephen Morgan
d2e0312ab1 cli: Make --no-total remove subtotals from CompoundBalanceReport, not just net total. 2020-06-22 12:16:07 -07:00
Dmitry Astapov
d5801f382c test: reordered cases in rules parser change error msg 2020-06-22 12:10:47 -07:00