Commit Graph

2305 Commits

Author SHA1 Message Date
Simon Michael
f7bbb39a77 ;regenerate cabal files with the hpack version in current stack
To minimise warnings. They got regenerated by a commit for #1471.
2021-02-18 13:42:40 -08:00
Simon Michael
b92a842728 ;update manuals 2021-02-17 12:07:23 -08:00
Simon Michael
f4c8b52885 ;update CLI usage texts 2021-02-17 12:07:06 -08:00
Arnout Engelen
ad2ab3c823 Make sure to round up for the 'to' date 2021-02-17 09:05:13 -08:00
Simon Michael
9cff45b2c5 ;journal: doc: note same-day P overrides --infer-market-value 2021-02-13 15:34:47 -08:00
Simon Michael
b9d33a4294 bs: just declaring a Cash account no longer hides Asset accounts
Since Cash is also an Asset, declaring an account as Cash also disabled the fallback regexp for Asset accounts.
2021-02-13 08:09:45 -08:00
Simon Michael
d865ec5d65 lib: refactor: more consistent amount precision helpers
Hledger.Data.Amount:
renamed:
setAmountPrecision -> amountSetPrecision
setFullPrecision -> amountSetFullPrecision
setMixedAmountPrecision -> mixedAmountSetPrecision
added:
mixedAmountSetFullPrecision
2021-02-05 16:09:49 -08:00
Simon Michael
37e49ada70 cli: rename --infer-value to --infer-market-price
For clarity; infer-value was too vague. The old spelling remains
supported for compatibility, but is now deprecated.
When typing, --infer-market or even --infer (for now) is sufficient.
2021-02-05 15:16:39 -08:00
Simon Michael
681965e2d4 ;journal: doc: wording tweak for #1465 2021-02-04 08:13:55 -08:00
Simon Michael
6101368954 print: always show all decimal places (#931)
Ensures parseable and more sensible-looking output in more cases, and behaves more like Ledger's print.

There is still an issue with adding trailing zeroes, which would be nice to prevent.
2021-02-04 08:13:55 -08:00
Simon Michael
0274b30742 print: don't add decimal places in assertion/assignment amounts either (#1465) 2021-02-04 06:46:09 -08:00
Simon Michael
a91a2ed2ed ;csv: doc: note how CSV amounts affect display style (#1465) 2021-02-04 06:30:14 -08:00
Simon Michael
201f967411 print: show all decimal places in assertion/assignment amounts (#1465)
Overriding the commodity style, per https://hledger.org/hledger.html#commodity-display-style.
2021-02-03 18:11:44 -08:00
Simon Michael
74f288a01d ;doc: valuation: fix typos 2021-01-31 13:33:50 -08:00
Stephen Morgan
e6cf2fb499 doc: Document new independent costing and valuation features in manual. 2021-01-28 13:57:49 -08:00
Stephen Morgan
b619b68f71 doc: Remove references to --value=cost, replacing them with --cost.
Since this is option is now just an alias for -B/--cost, and since it
may be removed soon, we make it undocumented, though it will still
behave as before. --value=cost,COMM is unsupported as well.
2021-01-28 13:57:48 -08:00
Stephen Morgan
c9eb7d1bcf lib,cli,ui: Separate costing from valuation; each can now be specified
independently.

You can now combine costing and valuation, for example "--cost
--value=then" will first convert to costs, and then value according to
the "--value=then" strategy. Any valuation strategy can be used with or
without costing.

If multiple valuation and costing strategies are specified on the
command line, then if any of them include costing
(-B/--cost/--value=cost) then amounts will be converted to cost, and for
valuation strategy the rightmost will be used.

--value=cost is deprecated, but still supported and is equivalent to
--cost/-B. --value=cost,COMM is no longer supported, but this behaviour can be
achieved with "--cost --value=then,COMM".
2021-01-28 13:57:48 -08:00
Stephen Morgan
130739e3ef lib,cli,ui: Introduce *ApplyCostValuation functions, which perform both
costing and valuation.

This currently is given a dummy NoCost argument and is equivalent to
"maybe id (*ApplyValuation ...)", but provides a constant interface so
that internal behaviour can be changed freely.
2021-01-28 13:57:48 -08:00
Stephen Morgan
a632e2fee9 test: Period change reports should not see historical postings when performing valuation. 2021-01-28 13:57:48 -08:00
Stephen Morgan
9cf5015958 lib: bal --value=end without --historical should not report on fluctuation in value of historical postings. 2021-01-28 13:57:48 -08:00
Simon Michael
93e5355a2b ;areg: doc: clarify account selection 2021-01-28 07:22:21 -08:00
Simon Michael
6650a563fb ;areg: doc: try to clarify aregister's purpose 2021-01-27 12:53:49 -08:00
Simon Michael
a91ca6892b ;areg: doc: mention depth limit is ignored (#1468) 2021-01-24 10:02:34 -08:00
Simon Michael
08c5857ac9 areg: ignore a depth limit, as in 1.19 (#1468)
aregister always shows transactions to subaccounts as well, ignoring any depth limit, so that the register's final total matches a corresponding balance report.
This was broken since 2020-09-02 c45663d41.
2021-01-24 09:46:12 -08:00
Simon Michael
58df055f7c ;areg: add a commented test for #1468 2021-01-23 17:15:38 -08:00
Simon Michael
337bc989ab ;bal: notes for single-period html output 2021-01-21 16:44:26 -08:00
Simon Michael
540c65994c payees: add --used/--declared flags, like accounts 2021-01-17 16:37:38 -08:00
Simon Michael
63076d212d ;csv: csvtest.sh: add history note (#1434)
In case someone might want to find the old code.
2021-01-15 13:19:24 -08:00
Felix Van der Jeugt
a79a7cfdb8 make testscript POSIX and shellchecked 2021-01-15 13:18:51 -08:00
Stephen Morgan
217bfc5e74 lib: Rename alignCell to textCell, minor cleanups. 2021-01-15 12:56:48 -08:00
Simon Michael
ce6939b304 ;journal: doc: note commodity directives' position-sensitivity 2021-01-13 17:57:18 -08:00
Simon Michael
bd8074721e journal: doc: clarify number formats, display styles (#1461) 2021-01-13 17:57:18 -08:00
Stephen Morgan
2b545caae5 lib: Calculate value at posting date for register --value=then -M. 2021-01-12 18:20:21 -08:00
Dmitry Astapov
07a9f11962 roi: use MixedAmount more and keep styles when reporting commodities 2021-01-12 15:19:35 -08:00
Dmitry Astapov
14a3b9833c roi: fix insane precision bug, discovered in #1417 2021-01-12 15:19:16 -08:00
aragaer
7bde3345b8 cli,csv: Fix --drop option in csv output format 2021-01-12 12:11:56 -08:00
Dmitry Astapov
fc32f22f86 lib: roi now supports --value/--infer-value 2021-01-12 11:53:00 -08:00
Dmitry Astapov
9869624c5c lib: better message when roi fails to value commodity, fixes #1446 2021-01-12 11:53:00 -08:00
Stephen Morgan
b203822cd1 lib: Make sure to add a newline to the end of aregister report. 2021-01-10 20:50:46 -08:00
Simon Michael
b5ab5ac9bc ;bal: doc: tweak
(cherry picked from commit 1dda703651ffe64dcf14c6a026fdead836224d1b)
2021-01-10 15:50:49 -08:00
Simon Michael
50a7914b3b ;update manuals 2021-01-10 15:37:32 -08:00
Simon Michael
de5dfe2d1b ;update CLI usage texts 2021-01-10 15:35:48 -08:00
Simon Michael
0d418fc86e ;bal: update command docs (#1441) 2021-01-10 15:35:01 -08:00
Stephen Morgan
0ef413bc25 doc,tests: Document new --value=then functionality and add tests. 2021-01-10 07:53:57 -08:00
Simon Michael
6931eec3ce ;check: uniqueleafnames: short circuit to avoid wasted work 2021-01-09 18:59:10 -08:00
Simon Michael
b96713a584 check: uniqueleafnames: fancy error message like the others 2021-01-09 18:54:33 -08:00
Simon Michael
e82e1db464 ;check: ordereddates: fix double "Error" 2021-01-09 18:54:33 -08:00
Simon Michael
a3e94290e4 ;csv: doc: amount tips: tweaks 2021-01-09 18:54:33 -08:00
Doug Goldstein
62cd34ae8a ;doc: adjust traditional top level accounts
Across the rest of the documentation and other accounting documentation
it appears to imply that the more traditional top level name would be
revenue. In fact the income statement says that is a subtraction between
revenue and expenses to derive the income. While the account types that
hledger supports are named revenue so it seems more natural to name this
revenue.
2021-01-09 12:58:18 -08:00
Simon Michael
eafdae3886 ;csv: doc: amount tips: tweaks 2021-01-07 10:15:13 -08:00
Simon Michael
c21b666130 csv: handle more sign variations, eg a sign by itself
simplifySign now covers a few more sign combinations that might arise.
And in particular, it strips a standalone sign with no number,
which simplifies sign flipping with amount-in/amount-out.
2021-01-07 10:06:38 -08:00
Simon Michael
6035cdf1e0 ;csv: doc: setting amounts: tweaks 2021-01-07 09:30:37 -08:00
Simon Michael
62d9e46adc ;csv: doc: tweaks 2021-01-06 15:33:54 -08:00
Simon Michael
07a96c47c9 ;csv: doc: improve setting amounts tips 2021-01-06 11:01:12 -08:00
Simon Michael
b15a634a44 ;check: accept parseable/autobalanced/assertions as arguments, for completeness 2021-01-05 16:25:43 -08:00
Simon Michael
7510d99aec check: accept case-insensitive prefixes as arguments
Might a bad idea, but avoiding wasteful typing..
2021-01-05 16:18:24 -08:00
Simon Michael
9abb33d8e7 ;valuation: document the price search limit (#1439) 2021-01-05 15:59:58 -08:00
Stephen Morgan
83110e8820 lib,cli: Extend AtThen valuation to all report types.
Also adds a postingDate argument to amountApplyValuation, and re-orders
the ValuationType and (Transaction/Posting) arguments to
(transaction/posting)ApplyValuation, to be consistent with
amountApplyValuation.
2021-01-05 14:42:09 -08:00
Simon Michael
3d7d5c0db7 new price search that really finds the shortest path (#1443)
This one should also reliably prevent runaway searches in the event of more bugs, giving up after 1000 iterations.
2021-01-04 18:42:51 -08:00
Simon Michael
e179685f3c ;valuation: commented test for #1443 2021-01-04 16:26:48 -08:00
Simon Michael
108b020f23 ;valuation: add functional test for #1439 slowdown 2021-01-04 15:45:58 -08:00
Stephen Morgan
5ba6215c47 cli: Remove redundant import, add some CPP. 2021-01-02 15:08:09 +11:00
Stephen Morgan
2bc2710017 test: Update for tests failing now that it's 2021. 2021-01-02 15:08:09 +11:00
Stephen Morgan
7d3cf1747a lib: Make consistent naming scheme for showMixedAmount* functions,
add conversion between old API and new API in the documentation.
2021-01-02 15:08:09 +11:00
Stephen Morgan
e63138ef7d lib,cli: Assorted fixes for older GHC. 2021-01-02 15:08:09 +11:00
Stephen Morgan
e4e533eb9f lib,cli,ui: Replace some uses of String with Text, get rid of some unpacks, clean up showMixed options. 2021-01-02 15:08:09 +11:00
Stephen Morgan
07a7c3d3a8 lib: Use Text and Text builder only in postingAsLines. 2021-01-02 15:08:09 +11:00
Stephen Morgan
13c111da73 lib,cli,ui: Use WideBuilder for Tabular.AsciiWide.
Move WideBuilder to Text.WideString.
2021-01-02 15:08:09 +11:00
Stephen Morgan
b9c00dce61 lib,cli,ui: Implement all showMixed* functions in terms of DisplayAmountOpts and WideBuilder. 2021-01-02 15:08:09 +11:00
Stephen Morgan
f998a791cf lib: Remove unused optional width argument for StringFormat. 2021-01-02 15:08:09 +11:00
Stephen Morgan
462a13cad7 lib,cli: Use Text Builder for Balance commands. 2021-01-02 15:08:09 +11:00
Stephen Morgan
089564b04b lib,cli: Use Text for CompoundPeriodicReport titles. 2021-01-02 15:08:09 +11:00
Stephen Morgan
541c4fc18c lib,cli: Use Text for CSV values. 2021-01-02 15:08:09 +11:00
Stephen Morgan
e3ec01c3c6 lib,cli,ui: Use Text for showDate and related. 2021-01-02 15:08:09 +11:00
Stephen Morgan
74b296f865 lib,cli: Make showTransaction return Text rather than String. 2021-01-02 15:08:09 +11:00
Stephen Morgan
dbe7015502 cli: Refactor compoundBalanceCommand. 2021-01-02 15:08:09 +11:00
Stephen Morgan
7e44b89bb4 lib: Remove unused label on TranspactionReport and AccountTransactionsReport. 2021-01-02 15:08:09 +11:00
Stephen Morgan
5752f1c5cb lib,cli: Use Text Builder for Account Transaction Reports. 2021-01-02 15:08:09 +11:00
Stephen Morgan
b9dbed6713 cli: Use Text Builder for Entries Reports. 2021-01-02 15:08:09 +11:00
Stephen Morgan
12a6435c51 lib: Add wrap convenience function. 2021-01-02 15:08:09 +11:00
Stephen Morgan
646ee0bce5 cli: Using Text Builder for posting reports. 2021-01-02 15:08:09 +11:00
Simon Michael
ac39d59016 ;check: doc: link to payee directive 2020-12-31 12:57:39 -08:00
Simon Michael
fdeaa3cd8b doc: journal: document payee directive 2020-12-31 12:55:24 -08:00
Simon Michael
3898a66dda ;check: doc: wording 2020-12-31 12:40:46 -08:00
Simon Michael
c8eb347835 ;check: no longer experimental 2020-12-31 12:17:48 -08:00
Simon Michael
2ffed3aec7 check: ordereddates: test --date2, clarify --unique and QUERY dropped 2020-12-31 11:43:51 -08:00
Simon Michael
bb1d49c573 ;update CLI usage texts 2020-12-31 11:23:56 -08:00
Simon Michael
01bfeda4fb ;update cabal files 2020-12-31 11:23:36 -08:00
Simon Michael
4491325bb0 ;check: ordereddates/uniqueleafnames: print on stderr, refactor 2020-12-31 11:22:32 -08:00
Simon Michael
1d4c4c5b8b check: drop old checkdates/checkdupes commands, consolidate 2020-12-31 10:49:17 -08:00
Simon Michael
a6ec7bcc11 ;check: add tests for all on-demand checks 2020-12-31 10:27:50 -08:00
Simon Michael
8306420b61 check: also check "accounts"/"commodities" on demand
(cherry picked from commit 0c2bf54f2955e3a25fd0282acc42608f957abaea)
2020-12-31 08:33:36 -08:00
Simon Michael
5d8669d4f3 ;check: separate func test files for each check 2020-12-31 08:29:15 -08:00
Simon Michael
31ea37a785 ;check: accounts, commodities, payees, ordereddates: improve errors
Error messages for these four are now a bit fancier and more
consistent. But not yet optimised for machine readability.
Cf #1436.

Added to hledger-lib: chomp1, linesPrepend[2].
2020-12-30 18:13:34 -08:00
Damien Cassou
b47d582583 ;check: fixes 2020-12-30 18:08:31 -08:00
Simon Michael
de56d09024 ;check: start some functional tests, for payees 2020-12-30 18:08:31 -08:00
Simon Michael
3c232fbd7d check: add "payees" check requiring payee declarations 2020-12-30 18:08:30 -08:00
Simon Michael
8ab2316604 ;cli: doc: data formats: wording 2020-12-30 17:06:01 -08:00
Simon Michael
22c6f056c2 ;update manuals 2020-12-29 10:27:48 -08:00
Simon Michael
6f08631be3 ;doc: changelog updates 2020-12-29 10:21:27 -08:00
Simon Michael
a5f9f8ce0c ;update CLI usage texts 2020-12-29 09:43:24 -08:00
Simon Michael
4a48e5f8aa ;doc: changelogs
(cherry picked from commit 3031c0e7b9bd9384ac390d3f3705455f057dd8c8)
2020-12-29 09:39:35 -08:00
Simon Michael
4ce681348d ;update changelogs
(cherry picked from commit 1b389961587720be10f7cced91d3b6cb9fc47415)
2020-12-29 09:38:58 -08:00
Simon Michael
f2d2272737 ;update changelogs
(cherry picked from commit 15e290955f8ae2ed636b4e144e84fc4c73f4228b)
2020-12-29 09:37:54 -08:00
Simon Michael
d126ceead2 ;cli: tests: allow func tests to run on NixOS 2020-12-28 15:23:51 -08:00
Simon Michael
21ce0c30cc ;print: cleanup; discuss unbalanced output (#1429) 2020-12-28 07:07:45 -08:00
Simon Michael
9ff53ab1e0 ;cli: convert cli.test to latest format 2020-12-28 06:28:31 -08:00
Simon Michael
323303daba ;cli: another fix for 4330427f 2020-12-28 06:24:56 -08:00
Simon Michael
b66d8f0f3c ;update manuals 2020-12-26 17:29:02 -08:00
Simon Michael
cee1c69ac0 ;update CLI usage texts 2020-12-26 17:28:47 -08:00
Simon Michael
4330427f6b cli: make --help/--version always CMD-specific
This simplifies the --help/-h and --version flags by making them
position independent: no matter where they appear in the command line,
if there is a command argument they will show the command's help or
version (where applicable), instead of the hledger executable's.
2020-12-26 17:27:28 -08:00
Simon Michael
ae9595c321 cli/help: --info/--man/help show CMD/topic-specific docs
hledger CMD --info will now open CMD's info node,
hledger CMD --man will scroll the man page to CMD's section, and
hledger help -i/-m/-p TOPIC will do similar.
This is not perfectly robust but hopefully will be good enough in
practice.

Also the help command's long --info/--man/--pager flags have been
dropped in favour of -i/-m/-p.
2020-12-26 17:27:28 -08:00
Simon Michael
54af71a0b1 cli: general --man, --info flags show the manual 2020-12-26 17:27:28 -08:00
Simon Michael
f20cd2b112 help: show only the hledger manual, for now 2020-12-26 17:27:27 -08:00
Simon Michael
7d3f05b16a help: add -i/-m/-p short flags 2020-12-26 17:27:27 -08:00
Simon Michael
9beff54b27 help: drop --cat 2020-12-26 17:27:27 -08:00
Simon Michael
ab55be6d64 ;doc: link updates 2020-12-26 17:27:27 -08:00
Simon Michael
201ea210fb ;cli: doc: intro wording 2020-12-26 17:27:27 -08:00
Simon Michael
8a16b2b1b0 ;update CLI usage texts 2020-12-26 08:21:45 -08:00
Simon Michael
45a5658396 cli: drop deprecated command aliases a, b, p, r, txns 2020-12-26 08:21:45 -08:00
Simon Michael
8d320bc1fe ;update manuals 2020-12-24 17:26:17 -08:00
Simon Michael
fbe30a73b9 ;doc: mention version in all manual formats 2020-12-24 17:25:11 -08:00
Simon Michael
f79cd78179 ;doc: update links 2020-12-24 13:02:02 -08:00
Simon Michael
fbf9418756 ;doc: update links to journal manual 2020-12-24 12:49:04 -08:00
Simon Michael
62660577c3 ;update cabal files 2020-12-24 10:22:16 -08:00
Simon Michael
ff3a05f891 ;update manuals 2020-12-24 10:22:05 -08:00
Simon Michael
ef55f9faf3 ;update CLI usage texts 2020-12-24 10:22:05 -08:00
Simon Michael
a7e9e9ac0e doc: merge file format manuals into the hledger manual
Also flatten the journal manual topics a bit.

There are pros and cons to this, but I believe the pros outweigh the
cons.
2020-12-24 10:22:05 -08:00
Simon Michael
a950d49e18 cli: hide deprecated aliases in command list
(a, b, p, r, equity, txns)
2020-12-23 12:00:42 -08:00
Simon Michael
0a36823094 ;update manuals 2020-12-23 10:29:57 -08:00
Simon Michael
69a7325f91 ;update CLI usage texts 2020-12-23 10:29:30 -08:00
Simon Michael
9c7a87da57 cli: doc: sync/update manual & cli command lists 2020-12-23 10:28:31 -08:00
Simon Michael
f43ab0029d cli: doc: reorganise/flatten hledger manual, rewrite commands section 2020-12-23 10:25:43 -08:00
Simon Michael
65a003c8ee ;doc: refactor, keep commands.m4 in Commands dir 2020-12-22 17:05:28 -08:00
Simon Michael
630347e0e8 ;bs/bse/cf/is: describe in terms of balance command 2020-12-22 09:22:10 -08:00
Simon Michael
324dfaee49 ;update manuals 2020-12-20 20:11:35 -08:00
Simon Michael
63876a4186 ;cli: doc: commands glue text 2020-12-20 20:08:35 -08:00
Simon Michael
0ff65456fa ;doc: info: tweak first/top heading again to improve structure 2020-12-20 20:08:35 -08:00
Simon Michael
9daaabeda2 ;doc: simplify manuals' title metadata to fit man/info better 2020-12-20 20:08:35 -08:00
Simon Michael
006db6136c ;doc: info: consistent indenting of synopsis command lines 2020-12-20 20:08:35 -08:00
Simon Michael
57a176193d ;doc: commands: include in man pages again; simplify headings
Simplify things for now.
2020-12-20 20:08:35 -08:00
Simon Michael
11b787e8ec ;doc: info: drop areg/bal's "Output format" heading to fix node loops
These were making it impossible to page through the entier manual with
the space key.
2020-12-20 20:08:35 -08:00
Simon Michael
c92c27d565 doc: tweak manuals' top heading to improve info structure 2020-12-20 20:08:35 -08:00
Simon Michael
ad3b5ef2fb ;doc: cli: reorder command docs; clean up includes 2020-12-20 07:57:57 -08:00
Simon Michael
6b4be651af doc: rewrite commands intro; drop command docs from man page 2020-12-19 12:01:58 -08:00
Stephen Morgan
e406cebcce lib: Remove unused AtDefault constructor for ValuationType. 2020-12-19 11:59:44 -08:00
Stephen Morgan
0c23619ae7 lib: Valuation has changed; and -V now acts like --value=end. 2020-12-19 11:59:44 -08:00
Stephen Morgan
8981b3e196 lib: Include empty columns in MultiBalanceReports.
This was previously done for CompoundBalanceReport and when --empty was
called; this makes the behaviour consistent.
2020-12-18 20:54:08 -08:00
Stephen Morgan
ec3299f626 doc: Add note for market prices being included in calculating the default end date. 2020-12-16 19:04:33 -08:00
Stephen Morgan
439eddc8b9 lib: Include price directives when calculating journal end date. 2020-12-16 19:04:33 -08:00
Simon Michael
4d3a9b0a21 ;changelogs: whitespace
(cherry picked from commit 679e90eb6028e8be35168057fe0040880aaab03a)
2020-12-15 20:57:18 -08:00
Simon Michael
47ab7a50a3 ;update changelogs
(cherry picked from commit 452149dfc87f2044ba6d16c2e55cab5957289b65)
2020-12-15 20:57:09 -08:00
Simon Michael
8db8992cb5 ;update changelogs
(cherry picked from commit 03f9b756b35661dc8dac6f10de04e9795d72c4d6)
2020-12-15 20:56:44 -08:00
Simon Michael
105f7d2944 ;tools: split defs.m4 to minimise manual rebuilding 2020-12-15 09:39:29 -08:00
Simon Michael
e5a12683d7 ;update manuals 2020-12-15 09:03:38 -08:00
Simon Michael
7d4d6517a6 ;shake: commandtxts -> cmdhelp; note todos 2020-12-15 08:53:10 -08:00
Simon Michael
df5c755d96 ;lib, cli: remove old unused parsec dependency 2020-12-15 08:33:05 -08:00
Simon Michael
9afccde16f ;update cabal files 2020-12-14 12:31:01 -08:00
Simon Michael
9087532b62 ;bump version to 1.20.99 2020-12-14 11:28:07 -08:00
Simon Michael
349ffd7c0b updateReportSpecFromOpts -> updateReportSpec[With] 2020-12-12 12:05:44 -08:00
Simon Michael
6723025607 ;update manuals 2020-12-08 20:11:32 -08:00
Simon Michael
a2bc7f95f0 ;update CLI usage texts 2020-12-08 20:11:32 -08:00
Simon Michael
4f122b605d ;rewrite: replace/update doc in commands list 2020-12-08 19:22:03 -08:00
Simon Michael
786a58ce2a ;cli: drop old command docs from commands list 2020-12-08 09:51:19 -08:00
Simon Michael
7a692284a9 ;doc: replace a few addon with add-on 2020-12-08 09:27:36 -08:00
Simon Michael
116945e907 ;shake: man page date is now updated by manuals, not setversion 2020-12-07 12:26:48 -08:00
Simon Michael
2f91b1de6e ;update manuals 2020-12-07 06:15:59 -08:00
Simon Michael
1856ca5312 web: bump to 1.20.1; update manuals' dates 2020-12-06 18:20:56 -08:00
Simon Michael
27abca84a4 ;changelog tweak 2020-12-06 18:14:47 -08:00
Simon Michael
fa28b43aed ;update changelogs 2020-12-05 17:58:37 -08:00
Simon Michael
5c5256504e ;update manuals 2020-11-30 15:21:59 -08:00
Simon Michael
2066bb5e9f ;update CLI usage texts 2020-11-30 15:21:40 -08:00
Simon Michael
5507cb07ef ;update cabal files 2020-11-30 15:19:21 -08:00
Simon Michael
2501329f3c ;bump version to 1.20 2020-11-30 15:18:24 -08:00
Simon Michael
3aec8542db ;update changelogs 2020-11-30 12:11:30 -08:00
Simon Michael
26dc66e118 ;check: doc updates 2020-11-30 08:49:10 -08:00
Simon Michael
e983380098 ;update manuals 2020-11-30 08:41:40 -08:00
Simon Michael
679373c835 ;update CLI usage texts 2020-11-30 08:41:21 -08:00
Simon Michael
a5adc14aaa ;check: doc updates 2020-11-30 08:41:07 -08:00
Simon Michael
090e810761 check: rename ordereddates, uniqueleafnames 2020-11-30 08:26:48 -08:00
Simon Michael
4dba59b0a1 ;check: doc updates 2020-11-30 08:26:16 -08:00
Simon Michael
16a212af57 ;update manuals 2020-11-29 21:21:50 -08:00
Simon Michael
4db9ec1e79 ;update CLI usage texts 2020-11-29 21:21:29 -08:00
Simon Michael
a0907e6567 check: doc 2020-11-29 21:21:20 -08:00
Simon Michael
e33667f580 check: support quoted check name + args
A "hledger check" argument may now be a quoted string containing
the check name followed by space-separated arguments, for
checks which make use of those. This means the check command
can replicate "check-dates --unique" and (in principle)
"check-fancyassertions ASSERTIONS..". Eg:

hledger check "dates --unique"

I think it'll be better for checks to take no arguments or options,
so this is probably just a transitional feature for compatibility.
2020-11-29 20:48:31 -08:00
Simon Michael
78542ca32e check-dates: rename --strict to --unique; improve output 2020-11-29 15:28:14 -08:00
Simon Michael
c5b0eab37a ;cli: slightly clearer message for this unlikely error case 2020-11-29 13:37:30 -08:00
Simon Michael
19f257621c ;cli: commands list: descriptions for tagfiles & fancyassertions addons 2020-11-29 13:36:24 -08:00
Simon Michael
724fb9961d check: new command incorporating check-dates, check-dupes, etc.
This is intended to work in three modes:

- hledger check: just run the standard data checks, like all other
commands but with no output on success. Equivalent to
hledger stats >/dev/null but simpler and platform-independent.

- hledger check --strict: run the standard + strict data checks,
like other commands in strict mode.

- hledger check CHECK1 CHECK2 ...: run the named checks. This allows
running more or less checks than the default or strict mode, or
a single check of interest. The arguments are standard lowercase names
for the checks. For now this command supports two checks: "dates" and
"leafnames". These are equivalent to the check-dates and check-dupes
commands which are now hidden and considered deprecated, though
still supported for the moment.

This command needs more work and I'm rushing it a little, but I think
it's the right direction and I'd like to put it out there to get
feedback.
2020-11-29 13:27:35 -08:00
Simon Michael
325a155f0b check-dates: on success, be silent and don't force program exit 2020-11-29 13:24:33 -08:00
Simon Michael
cd7156013d check-dupes: return a non-zero exit code on failure 2020-11-29 13:24:14 -08:00
Simon Michael
ee026f5442 Revert the rename of check-dupes
We'll keep the old name, soon to be a hidden command, for compatibility.
2020-11-28 15:32:07 -08:00
Simon Michael
8c23a16bf8 journal: strict mode also requires commodity declarations 2020-11-27 17:54:55 -08:00
Simon Michael
d9b4446837 ;check-leafnames: fix, one more rename 2020-11-27 13:23:04 -08:00
Simon Michael
d330c4910e check-dupes: rename to check-leafnames, per "How to check for errors" 2020-11-27 12:51:41 -08:00
Simon Michael
3bfe53dd50 doc: strict mode links 2020-11-27 08:57:41 -08:00
Simon Michael
d40d53ae02 ;update manuals 2020-11-26 08:52:56 -08:00
Simon Michael
ec3ad14ae5 strict mode: -s/--strict requires posted accounts to be declared 2020-11-26 08:48:16 -08:00
Simon Michael
794c5f32a5 ;update changelogs 2020-11-24 09:39:05 -08:00
Simon Michael
255d475380 ;update manuals 2020-11-24 09:23:58 -08:00
Simon Michael
982486e5d2 ;update CLI usage texts 2020-11-24 09:23:47 -08:00
Simon Michael
94b3f090be csv, timedot, timeclock: respect --alias options (fix #859)
Command-line account aliases now also affect transactions read
from these formats (not just journal format).

lib: journalApplyAliases, transactionApplyAliases, postingApplyAliases
helpers have been added.
2020-11-24 09:17:01 -08:00
Simon Michael
221a6d9001 lib: new more robust price lookup implementation, fixing #1402 2020-11-23 18:08:41 -08:00
Simon Michael
13e3e7607e ;cli: update example in Cli.Main haddock 2020-11-23 10:05:53 -08:00
Simon Michael
d60c1f764d lib: partial valuation fix, more debug output for #1402 2020-11-22 13:10:31 -08:00
Simon Michael
6847f0e6a8 ; lib: valuation: add a commented test for #1402 2020-11-21 07:35:32 -08:00
Simon Michael
16f12d8263 ;bal: budget: improve doc 2020-11-20 17:20:50 -08:00
Simon Michael
322d62483e ;bal: budget: heading type 2020-11-20 17:05:48 -08:00
Simon Michael
adc9bf94bc ;bal: budget: document a start date gotcha 2020-11-20 17:04:24 -08:00
Simon Michael
6948b05db6 ;bal: budget: add tests clarifying a surprising behaviour 2020-11-19 15:15:04 -08:00
Simon Michael
372c9724a8 bal: improve budget, MultiBalanceReport debug output
Comply with debug levels policy, clarify some labels.
2020-11-19 14:42:46 -08:00
Simon Michael
b6c667c388 ;update manuals 2020-11-19 09:19:20 -08:00
Simon Michael
0295be5553 ;update CLI usage texts 2020-11-19 09:19:12 -08:00
Dmitry Astapov
d53dc46a5a roi: docs 2020-11-19 09:17:28 -08:00
Dmitry Astapov
c0582ec895 roi: TWR now handles samy-day pnl changes and cashflows 2020-11-19 09:17:28 -08:00
Simon Michael
3afd52248b ;roi: document calculation failures 2020-11-19 09:17:28 -08:00
Simon Michael
ab305b3244 roi: add adept's IRC discussion to doc 2020-11-19 09:17:28 -08:00
Simon Michael
a92aa3cd26 ;bal: fix a warning 2020-11-18 16:31:32 -08:00
Simon Michael
6b152fe6c8 ;update manuals 2020-11-18 16:30:52 -08:00
Simon Michael
4e529372a4 ;update CLI usage texts 2020-11-18 16:30:40 -08:00
Simon Michael
18f8f91520 ;more budget-related cleanup 2020-11-18 16:29:04 -08:00
Simon Michael
5bb9006b6c bal: support CSV output for --budget reports (#1155) 2020-11-18 16:29:04 -08:00
Dmitry Astapov
98a46fcaeb cli: improve error for roi IRR rootfinding problems (closes #1398) 2020-11-18 01:03:20 +00:00
Simon Michael
9a820a6dec ;doc: fixes 2020-11-17 13:16:17 -08:00
Simon Michael
5f9635c784 ;update changelogs 2020-11-17 10:51:57 -08:00
Simon Michael
3662977c84 ;update manuals 2020-11-17 07:29:57 -08:00
Simon Michael
541aa3ee5b ;update CLI usage texts 2020-11-17 07:29:38 -08:00
Simon Michael
ec2a774b18 cli, lib: move functional tests into hledger/test/ 2020-11-16 08:47:41 -08:00
Simon Michael
2448d07148 ;roi: doc: link example file 2020-11-15 11:20:52 -08:00
Simon Michael
0ce9c352ec add: don't let number style disturb the default (Fixes #1378) 2020-11-14 11:08:01 -08:00
Simon Michael
e8672c4cd5 ;lib: don't catch in maybeFileModificationTime (#1390)
It's overkill.. it's understood that any IO action can
throw an exception, and it's best to handle them at top level,
eg as Yesod does.
2020-11-13 16:50:17 -08:00
Simon Michael
1f94aa1628 ;lib: make file modification/reloading helpers more robust (#1390)
Work on hledger-web tests showed some bad behaviour, in particular
journalReloadIfNewer would always reload a journal read from a string
or stdout. This is now fixed, and an ugly read.show conversion has
been cleaned up.

Hledger.Cli.Utils API changes:

removed:
- journalSpecifiedFileIsNewer
- fileModificationTime

added:
- utcTimeToClockTime

changed:
- journalFileIsNewer now requires a file argument
2020-11-13 16:28:35 -08:00
Simon Michael
a97daaf322 lib: replace pretty-show with pretty-simple
pretty-simple, already used in .ghci, will hopefully give nicer debug
output, including for values which don't have Read-able Show output.
This should mean that we can start removing custom string-like Show
instances that were a workaround for pretty-show.

We are using the latest version (4.0.0.0) to get compact output.
Here's some old pretty-show output:

 CsvRules
   { rdirectives = [ ( "skip" , "1" ) ]
   , rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
   , rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
   , rconditionalblocks = []
   }

And the new pretty-simple output:

 CsvRules
   { rdirectives=
     [ ( "skip", "1" ) ]
   , rcsvfieldindexes=
     [ ( "date", 1 ), ( "amount", 2 ) ]
   , rassignments=
     [ ( "amount", "%2" ), ( "date", "%1" ) ]
   , rconditionalblocks= []
   }

Non-compact pretty-simple output would be:

 CsvRules
     { rdirectives=
         [
             ( "skip"
             , "1B"
             )
         ]
     , rcsvfieldindexes=
         [
             ( "date"
             , 1
             )
         ,
             ( "amount"
             , 2
             )
         ]
     , rassignments=
         [
             ( "amount"
             , "%2"
             )
         ,
             ( "date"
             , "%1"
             )
         ]
     , rconditionalblocks=[]
     }

Also:

- Account's Show instance no longer converts : to _ in account names

- drop unused pretty-show dependency from hledger, hledger-ui packages

- regenerate hledger-lib with the older hpack that's shipped in stack
2020-11-10 08:06:11 -08:00
Simon Michael
de42cc6706 ;doc: valuation: try to clarify effect on reports table (#1380) 2020-11-09 18:04:35 -08:00
Simon Michael
86fac4236d ;update manuals 2020-11-09 17:14:38 -08:00
Simon Michael
94b01dd19d ;update CLI usage texts 2020-11-09 17:14:38 -08:00
Simon Michael
78894d46c8 import: apply journal's commodity styles to imported amounts 2020-11-09 17:14:38 -08:00
Simon Michael
895783ebe0 ;update manuals 2020-11-09 11:09:55 -08:00
Simon Michael
7cf7bcbf96 ;doc: period expressions: slightly clarify "every WEEKDAY" 2020-11-09 11:08:20 -08:00
Stephen Morgan
76dd4d83bc cli, docs: Add documentation, improve test comments, and clarify report titles for reports with valuation date changing over different columns. 2020-11-08 17:11:05 -08:00
Simon Michael
0df6998b58 ;bal: doc tweak (#1283, #1379) 2020-11-05 11:07:23 -10:00
Simon Michael
b5656c5909 ;update manuals 2020-11-05 11:00:38 -10:00
Simon Michael
f615c07d0f ;update CLI usage texts 2020-11-05 11:00:38 -10:00
Simon Michael
10facfdb50 ;bal: improve -S docs (#1283, #1379) 2020-11-05 11:00:26 -10:00
Simon Michael
03c1193e54 ;changelog tweak 2020-11-04 21:10:45 -10:00
Simon Michael
d1ded6fd84 ;update changelogs 2020-11-04 06:52:15 -10:00
Stephen Morgan
83a518af99 lib,cli,ui: In ReportOpts, store query terms term-by-term in a list in
querystring_.

This helps deal with tricky quoting issues, as we no longer have to make
sure everything is quoted properly before merging it into a string.
2020-11-04 08:47:30 -08:00
Stephen Morgan
a620ab9666 lib: Expand Tabular.AsciiWide to allow multiline cells, either top or bottom aligned. 2020-11-04 14:25:21 +11:00
Stephen Morgan
0bebda7313 lib,cli,ui: Elide amounts to a width of 32 characters, rather than 22 characters. 2020-11-04 14:25:20 +11:00
Stephen Morgan
e9a16edb58 cli: Use new mixed amount display functions for balance format strings. 2020-11-04 14:25:20 +11:00
Stephen Morgan
9de238757b lib,cli,ui: Introduce showMixed*Unnormalised, eliminate most direct calls of strWidth.
This introduces some new helper functions which are exactly the same
as what we had before, but do not call
normaliseMixedAmountSquashPricesForDisplay, so that we can use the new
functions for displaying Transaction and Posting. It also goes through
and gets rid of most uses of the old showMixed* functions which would
benefit from using the new interface.
2020-11-04 14:25:20 +11:00
Stephen Morgan
a838366c9d cli: Ensure register reports are correctly aligned for negative numbers.
This uses the new showMixed* function for the register report. This
fixes some misaligned negative numbers which appeared in one of the
earlier commits, and adds a test for it.
2020-11-04 14:25:20 +11:00
Stephen Morgan
162a936360 lib: BudgetReport uses new renderTable inteface, now has more compact output.
This changes showMixedAmountElided so that the width to elide to is
given as an argument, rather than fixed at 22 characters. This
actually uses the new renderTable interface. Mostly this is just an
internal change, but since we have more information about the widths
of things, we can actually get rid of some superfluous spaces in the
budget report output, previously there to make sure it stayed aligned
with the largest reasonable contents.
2020-11-04 14:25:20 +11:00
Stephen Morgan
33369dfa6c lib: renderTable can now receive alignment and width specifications on all cells, and has an option to display the outer border.
This gives renderTable a little more customisation. Before any of the
commits of this PR, render would just receive a string to display in
each cell. After the second commit of this PR it would also receive a
width of the string (in place of stripping ANSI sequences and then
calculating the width). After this commit, it now also takes an
alignment, so you can make cells left or right aligned. The function
render calls renderTable with appropriate options to give the same
behaviour as before. Also, previously render would always put a border
around the table. We would take this output, and would sometimes strip
the border by dropping the first and last rows, and first and last
characters of every row. I've just added an option to control whether
to put the border in, so we can just not add it in the first place,
rather than stripping it later. Note that this is again just defining
helper functions; this extra power is not yet used anywhere.
2020-11-04 14:25:20 +11:00
Stephen Morgan
a2b7a03fc4 lib,cli: bal uses new amount display functions, no longer needs to strip ansi. 2020-11-04 14:25:20 +11:00
Simon Michael
cca8802e2c ;update changelogs 2020-11-03 08:18:14 -10:00
Stephen Morgan
affc8d10f2 lib: Generalise CBCSubreportSpec to allow more subreport control. 2020-10-23 16:15:41 -07:00
Stephen Morgan
260283e2f1 lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of
the report, and the parsed Query.
2020-10-23 14:14:11 -07:00
Stephen Morgan
19ab222599 lib,cli: Remove old impure ReportOpts date functions. 2020-10-23 14:14:11 -07:00
Stephen Morgan
2aaab4b1b7 lib: Make Default instances clearer, remove Default instance for Bool. 2020-10-23 14:14:11 -07:00
Stephen Morgan
1171c23eee lib,cli,ui: Ensure ReportOpts always has today_ set. 2020-10-23 14:14:11 -07:00
Stephen Morgan
c45663d41d lib,cli: Store parsed Query in ReportOpts, rather than an unparsed
String.
2020-10-23 14:14:11 -07:00
Stephen Morgan
103308e795 lib,cli: Store StringFormat in ReportOpts, rather than unparsed String.
StringFormat now also takes an optional overline width, which is
currently only used by defaultBalanceLineFormat.
2020-10-23 14:14:11 -07:00
Simon Michael
291a35d8b4 ;lib: refactor 2020-10-19 09:09:38 -07:00
Simon Michael
2761324404 journal: apply commodity styles to forecasted transactions (#1371) 2020-10-19 08:59:25 -07:00
Simon Michael
831ec0dcf0 ;lib: refactor journalAddForecast 2020-10-19 08:52:00 -07:00
Simon Michael
f0db3fb157 ;update manuals 2020-10-18 16:01:59 -07:00
Simon Michael
1f81730a00 balcmds: mention --no-elide's new commodity-revealing function 2020-10-05 08:57:08 -07:00
Simon Michael
c5513ba722 ;tweak a few parse errors for clarity, consistency (#1329) 2020-09-19 08:10:39 -07:00
Simon Michael
73de12c264 ;update changelogs 2020-09-07 16:17:58 -07:00
Simon Michael
2b715fbe0d ;update changelogs 2020-09-07 16:13:21 -07:00
Simon Michael
018bf8f474 ;update manuals 2020-09-07 12:17:35 -07:00
Simon Michael
90adb95983 ;update cabal files 2020-09-07 12:17:35 -07:00
Simon Michael
a151bcaec7 ; bump hledger-lib, hledger, hledger-ui, hledger-web version to 1.19.99 2020-09-07 12:16:12 -07:00
Simon Michael
8599eda37c allow megaparsec 9 2020-09-07 11:41:57 -07:00
Simon Michael
a1321b7f26 ;shake: commandhelp -> commandtxts, don't build this for "manuals" 2020-09-07 11:41:56 -07:00
Simon Michael
a5fcb19bb0 ;doc: changelog updates 2020-09-07 09:23:42 -07:00
Simon Michael
a9fbaaf284 ;partial comment cleanups 2020-09-03 09:52:00 -07:00
Simon Michael
09ac90a70a ;doc: finalise changelogs 2020-09-01 20:28:04 -07:00
Simon Michael
3170cc7cbd bump version to 1.19 2020-09-01 20:27:17 -07:00
Simon Michael
7aefa6f0ce ;doc: changelogs 2020-09-01 20:23:30 -07:00
Simon Michael
e44c1cfae8 ;regen manuals 2020-09-01 16:31:18 -07:00
Simon Michael
c1a985f1c8 ;bal: doc: drop link to resolved sorting issue (#1279) 2020-09-01 16:31:18 -07:00
Stephen Morgan
07dd30c1e5 lib,cli,ui: Change to consistent naming scheme for Hledger.Utils.Regex. 2020-09-01 11:36:34 +10:00
Stephen Morgan
af31d6e140 lib,cli,ui: Remove redundant Typeable and Data instances.
Also add some explicit import lists.
2020-08-31 15:41:30 +10:00
Stephen Morgan
e5371d5a6a lib,cli,ui,web: Make Regexp a wrapper for Regex. 2020-08-31 12:04:45 +10:00
Stephen Morgan
f6fa76bba7 lib,cli: Get rid of magic values for asprecision, use a sum type instead. 2020-08-30 23:00:35 +10:00
Stephen Morgan
371b349b2e lib,cli: Replace parsedate and mkdatespan with direct applications of fromGregorian, transaction now takes Day instead of a date string. 2020-08-29 15:08:28 -07:00
Stephen Morgan
2fd678e415 lib,cli,ui: Remove old CPP directives made redundant by version bounds. 2020-08-29 15:08:28 -07:00
Simon Michael
20336ddc4d ;doc: more file extensions tweaks 2020-08-21 09:21:46 -07:00
Simon Michael
c3d8857ae5 ;doc: clarify csv file extensions and separator inferring 2020-08-21 09:01:23 -07:00
Stephen Morgan
4d5888aa8d cli: No longer force --no-total in compound balance reports when using --percent. 2020-08-11 15:16:29 -07:00
Simon Michael
3f55c23603 ;review, tag all error calls with an easier to find PARTIAL: comment (#1312) 2020-08-05 16:08:33 -07:00
Simon Michael
242c05fc9a lib, journal: parseQuery, modifyTransactions are now total (#1312)
modifyTransactions now also requires a reference date, for parsing queries.
Relative dates are now permitted in auto posting rules.
2020-08-05 13:44:04 -07:00
Simon Michael
5d40b54043 ;doc: regen manuals 2020-08-01 12:41:54 -07:00
Simon Michael
1eca6b8b5c ;queries: document quarter query term (#1247) 2020-07-31 18:15:18 -07:00
Stephen Morgan
081ee390ab lib: Change skipMany spacenonewline to takeWhileP Nothing isNonNewlineSpace. 2020-07-22 14:58:53 -07:00
Simon Michael
1c4e0c3cff ;reg,areg: interlink their docs 2020-07-22 07:57:53 -07:00
Simon Michael
640d2f2972 ;bs/bse/cf/is: update help to mention account types 2020-07-19 11:15:50 -07:00
Simon Michael
21b91f17cb ;regen manuals 2020-07-18 12:37:06 -07:00
Simon Michael
847fc23236 ui: use t/l keys for tree/list, T for "today", drop vi keys?! retune help (#1286) 2020-07-17 15:42:05 -07:00
Simon Michael
3636875a5d cli: add -t/-l short flags for --tree/--flat; improve help (#1286) 2020-07-17 15:36:07 -07:00
Simon Michael
ba49699728 cli: improve --color/--colour help & help layout 2020-07-17 15:36:07 -07:00
Stephen Morgan
30f02b0882 lib: account name clipping takes Maybe Int as depth. 2020-07-17 07:41:27 -07:00
Stephen Morgan
51ea6d9f25 lib: Make queryDepth return Maybe Int. 2020-07-16 10:05:53 -07:00
Simon Michael
73141aa645 ;regen help/manuals 2020-07-14 12:22:27 -07:00
Simon Michael
144415f6fa ;cli: improve --color help 2020-07-14 12:22:11 -07:00
Simon Michael
031f72ac4b ;help/manuals 2020-07-14 12:09:54 -07:00
Simon Michael
403cb457b7 ;cabal files 2020-07-14 12:09:45 -07:00
Simon Michael
3452270241 cli: --color/--colour option; smart emacs, windows autodetection (#1296) 2020-07-14 12:08:36 -07:00
Simon Michael
02043d4e65 ;areg: doc: fix heading level 2020-07-14 10:37:49 -07:00
Simon Michael
4f7bee7abf ;regen help, manuals 2020-07-14 10:25:04 -07:00
Simon Michael
9198449ee3 areg: an account transaction register like the ones in ui/web (#1294)
;areg: debug output

;areg: show a title indicating which account was picked

This might be a bit of a pain for scripting, but otherwise it can be
quite confusing if your argument matches an account you didn't expect.

;areg: improve CSV headings

;areg: show at most two commodities per amount
2020-07-14 10:24:57 -07:00
Simon Michael
fd00d9c1cc tags: add --parsed flag, hide empties without --empty
With --parsed flag, all tags or values are shown in the order they
are parsed from the input data, including duplicates.

With -E/--empty, any blank/empty values will also be shown, otherwise
they are omitted.
2020-07-14 10:20:52 -07:00
Simon Michael
c99989acd7 ;cli: improve --value help, mention 'then' 2020-07-13 11:52:14 -07:00
Simon Michael
23bef9a01b ;refactor: extracted reportPeriodName for making report headings 2020-07-09 12:54:20 -07:00
Simon Michael
0a9b05f3fd ;refactor balance report column headings 2020-07-09 11:49:16 -07:00
Simon Michael
09b1736d5a bal, bs, cf, is: update flat/tree help; order options a bit better 2020-07-07 19:00:10 -07:00
Stephen Morgan
5ffe1d7656 cli: Allow --drop in account command in tree mode. 2020-07-07 16:05:05 -07:00
Stephen Morgan
1425301a8c lib, cli: Use --flat as the default mode for all reports. 2020-07-07 15:49:08 -07:00
Stephen Morgan
df84a417d7 doc: Remove references to old limitations of boring parent ellision. 2020-07-07 15:49:08 -07:00
Simon Michael
644be1e1cf codes: add missing files to stack/cabal config 2020-07-07 13:56:45 -07:00
Simon Michael
ae4fce8077 ;regen manuals 2020-07-07 13:42:11 -07:00
Simon Michael
3ad313d8fa codes: new command for listing transaction codes 2020-07-07 13:38:49 -07:00
Simon Michael
a7a01c0f9f descriptions, notes, payees: fix/improve help and comments 2020-07-07 13:38:49 -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
0bbd88fe7f ;doc: changelogs 2020-07-05 09:24: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
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
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
Simon Michael
765fb732c9 debug: move command parsing debug output down to level 8 2020-07-03 11:37:01 -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
Simon Michael
e090e0f949 add lower bound needed for aeson, to help cabal (#1268) 2020-06-23 14:55:42 -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
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
Stephen Morgan
7a5416928e cli: multiBalanceReport: Remove redundant code branch. 2020-06-22 22:28:09 +10:00
Stephen Morgan
e079c8b808 lib: multiBalanceReport: Remove old balanceReport code, update some tests. 2020-06-22 22:27:09 +10:00
Stephen Morgan
5f0918217a multibalanceReport: Move responsibility for determining displayed name in multiBalanceReportWith, not at point of consumption. 2020-06-22 22:20:09 +10:00
Simon Michael
536bea2a78 roi: show errors without a traceback 2020-06-21 11:02:16 -07:00
Simon Michael
ce4de7aeb9 ;doc: regen manuals
[ci skip]
2020-06-21 10:36:21 -07:00
Simon Michael
24996caaeb bump to dev version 2020-06-21 10:35:52 -07:00
Simon Michael
c24f04823a ;doc: clarify print changelog 2020-06-21 10:23:27 -07:00