Commit Graph

2305 Commits

Author SHA1 Message Date
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
Simon Michael
6216258b41 ;doc: finalise 1.18.1 changelogs 2020-06-21 10:22:53 -07:00
Simon Michael
128836f6f8 ;changelogs 2020-06-20 18:24:15 -07:00
Simon Michael
06c174b236 ;valuation: doc edits 2020-06-19 17:17:49 -07:00
Simon Michael
fae1cc262e ;regen manuals 2020-06-19 14:47:41 -07:00
Simon Michael
e3cae4aadc valuation: implement new --infer-value flag & semantics (#1239, #1253) 2020-06-19 14:40:20 -07:00
Simon Michael
e143ad2695 ;valuation: doc specifying new proposed behaviour (#1239, #1253) 2020-06-19 14:40:17 -07:00
Simon Michael
06d5014f5f ;lib: multibalancereport: apply debug output policy 2020-06-16 21:00:08 -07:00
Martin Michlmayr
7310951178 doc: fix typos 2020-06-16 19:13:18 -07:00
Simon Michael
684cb45e1a tweak debug levels, document some guidelines
Beginnings of a project-wide policy for what output to show at
each debug level, for now. Later we'll want more flexibility,
eg filtering by topic.
2020-06-14 17:17:09 -07:00
Simon Michael
a384041f7c ;doc: valuation: clarify that -V requires P directives (#1239, #1253) 2020-06-14 15:41:48 -07:00
Dmitry Astapov
802378999f cli: changes to "hledger print -O csv" output 2020-06-13 16:26:27 -07:00
Simon Michael
6711e47c7c ;doc: valuation: more edits 2020-06-13 14:15:01 -07:00
Simon Michael
c8773854f0 ;doc: valuation: more cleanup 2020-06-13 12:41:02 -07:00
Simon Michael
07bda4105f ;doc: valuation: tweak 2020-06-13 12:30:13 -07:00
Simon Michael
558abf4bd7 ;doc: valuation: simplify 2020-06-13 12:25:17 -07:00
Simon Michael
4e182e651b ;doc: valuation: clarify this section; note a recent change
Note that default valuation commodity is now chosen from the latest
suitable P directive on any date, not just before the valuation date.
2020-06-13 12:20:55 -07:00
Simon Michael
03b4b2dedc journal: default valuation commodity comes from P directives only (#1239, #1253) 2020-06-12 21:25:38 -07:00
Simon Michael
dfccfe33c1 ;cli, web: relnotes: add some missing names/item 2020-06-09 15:54:08 -07:00
Simon Michael
729e87066f ;cabal files 2020-06-07 13:00:40 -07:00
Simon Michael
aee6b49d36 ;bump date in changelogs, installer 2020-06-07 12:45:55 -07:00
Simon Michael
b389ee98dd ;update tested-with 2020-06-07 11:59:36 -07:00
Simon Michael
e8e27821d9 ;finalise changelogs 2020-06-07 11:51:40 -07:00
Simon Michael
09b6d44562 ;manuals 2020-06-06 17:21:18 -07:00
Simon Michael
a54376e204 ;regen cabal files 2020-06-06 17:20:13 -07:00
Simon Michael
19020939c9 ;bump versions to 1.18 2020-06-06 17:18:15 -07:00
Simon Michael
fa077415d4 ;edit changelogs 2020-06-06 16:53:41 -07:00
Simon Michael
b86ced5ee9 lib: replace jsonPrettyText with toJsonText in Hledger.Data.Json 2020-06-06 12:54:58 -07:00
Simon Michael
5757c386d8 ;draft changelogs 2020-06-05 15:18:23 -07:00
Simon Michael
e5a0bddbe6 ;regen manuals 2020-06-05 14:44:37 -07:00
Simon Michael
88051b93ab ;cli: doc: regular expressions: fix special characters link 2020-06-05 07:24:33 -07:00
Stephen Morgan
be25fe360e lib: Parser now accepts .. as a synonym for to in date ranges. 2020-06-04 19:30:42 -07:00
Stephen Morgan
935abd1842 lib: Use .. in place of ,, for date ranges in compound balance reports. 2020-06-04 19:30:42 -07:00
Simon Michael
d1f62f0f2e print, reg, balcmds: show json output pretty-printed 2020-06-04 15:13:28 -07:00
Simon Michael
9bc8c5d668 ;cli: doc: json output seems not pretty printed right now 2020-06-04 13:59:26 -07:00
Dmitry Astapov
b7413edf22 lib: --forecast=PERIODICEXPR. Fixes #835, #1236 2020-06-03 15:53:00 -07:00
Simon Michael
8b0618ce4d ;cli: doc: not basically 2020-06-01 04:48:30 -07:00
Simon Michael
97f2235bca ;lib: refactor amount cost functions
Rename costOfAmount -> amountCost, costOfMixedAmount -> mixedAmountCost,
drop amountToCost, mixedAmountToCost.
2020-05-31 15:48:08 -07:00
Simon Michael
660ba7e1d9 lib: clarify zero-checking function names
isZeroAmount                -> amountLooksZero
isReallyZeroAmount          -> amountIsZero
isZeroMixedAmount           -> mixedAmountLooksZero
isReallyZeroMixedAmount     -> mixedAmountIsZero
isReallyZeroMixedAmountCost dropped
2020-05-29 18:57:22 -07:00
Dmitry Astapov
54300328cd cli: ability to pass arguments to getHledgerCliOpts + two example scripts 2020-05-27 04:58:57 -07:00
Simon Michael
9417ee625e ;regen manuals 2020-05-25 17:49:01 -07:00
Simon Michael
93154e9251 update and clean up valuation docs (#1239) 2020-05-25 17:45:31 -07:00
Dmitry Astapov
cbacef21eb lib: multiBalanceReport derives query from ReportOpts 2020-05-25 15:50:14 -07:00
Simon Michael
61bec588d2 print,reg,balcmds: list output formats accurately in --help (#689)
Also:
- tweak the unsupported output format message
- Hledger.Cli.CliOptions no longer exports outputflags
2020-05-23 13:54:41 -07:00
Simon Michael
5f1a864c20 print,reg,balcmds: fix JSON output, which wasn't JSON (#689) 2020-05-23 13:30:22 -07:00
Simon Michael
4706b8cb00 ;regex doc tweaks 2020-05-10 13:15:15 -07:00
Simon Michael
24209a952c ;regex doc tweaks 2020-05-10 13:13:51 -07:00
Simon Michael
71111148ed ;regex doc tweaks 2020-05-10 13:11:53 -07:00
Simon Michael
f167c223a2 ;csv: emphasize regular expressions features and doc 2020-05-10 13:03:09 -07:00
Simon Michael
e5ed001ce8 ;doc: clarify when regexps do and do not support backreferences 2020-05-09 15:35:53 -07:00
Simon Michael
6935c46b2c ;regen cabal files with latest stack/hpack (2.3.1/0.33.0) 2020-05-02 17:31:35 -07:00
Simon Michael
9dc015d974 ;doc: typo 2020-04-29 11:01:27 -07:00
Simon Michael
c0dc71ae25 ;doc: update the locale troubleshooting doc 2020-04-29 10:59:08 -07:00
Simon Michael
9cdf2953da ;api, ci: drop old embedded doc symlinks, should fix CI 2020-04-20 18:25:08 -07:00
Simon Michael
df92c36679 ;changelogs 2020-04-19 14:45:07 -07:00
Simon Michael
a016a43785 cli: fix hiding of redundant source scripts when a .com/.exe exists
Related to #1225.
2020-04-15 11:33:38 -07:00
Simon Michael
3b59a95a54 ;cli, journal: doc: consistent heading capitalisation, whitespace 2020-04-08 21:14:38 -07:00
Simon Michael
fedde7fab1 journal: also support the total lot price variants ({{}}, {{=}}) 2020-04-08 19:18:39 -07:00
Simon Michael
5beeb56a87 ;journal: document improved lot price parsing; changelog 2020-04-08 19:02:24 -07:00
Simon Michael
898cda4ee5 ;changelogs 2020-04-06 18:38:38 -07:00
Simon Michael
e7e9f1ee3b ;doc: cli: troubleshooting: mention C.UTF-8 2020-03-27 14:41:12 -07:00
Simon Michael
b6e4a1bdc0 ;doc: cli: troubleshooting: clarify locale spelling a bit 2020-03-27 13:37:06 -07:00
Simon Michael
293e2d81d1 ;changelogs 2020-03-25 18:42:26 -07:00
Simon Michael
d868a7e170 ;update cabal files 2020-03-22 10:49:49 -07:00
Simon Michael
c6951bf7c6 ;doc: more tweaks to package readmes, hackage descriptions 2020-03-22 10:49:02 -07:00
Simon Michael
40d3a5c1f4 ;update cabal files 2020-03-22 09:28:10 -07:00
Simon Michael
9ca8d7cea9 ;update tested-with 2020-03-22 09:27:50 -07:00
Simon Michael
d59ccb260b ;doc: consistent markdown readmes for packages, part 2 2020-03-22 09:27:34 -07:00
Simon Michael
617c2ecbc5 ;doc: consistent markdown readmes for packages 2020-03-22 09:07:47 -07:00
Simon Michael
1a606870ca ;regen docs 2020-03-19 16:05:52 -07:00
Simon Michael
35ba2e4e9e ;bal: doc: recommend using the same commodity for budget goals 2020-03-19 16:03:58 -07:00
Simon Michael
6e37d11bdd ;changelogs: typo, fix hledger-web item 2020-03-19 14:26:55 -07:00
Simon Michael
9631ca561c ;update changelogs "high water marks" 2020-03-19 14:09:37 -07:00
Simon Michael
4191aad049 ;update changelogs from release branch 2020-03-19 14:07:53 -07:00
Simon Michael
96b4f0be4f require newer Decimal, math-functions, fixing inconsistent rounding
Decimal 0.5.1+ changed to banker's rounding (round to nearest even
number), and math-functions 0.3.3.0 (used by roi) fixed various
precision-related issues. Now we require the latest versions of these.
This was causing some functional test failures when building with old
GHCs/snapshots.
2020-03-19 10:10:55 -07:00
Simon Michael
cf7de57836 ;update changelogs 2020-03-18 16:17:13 -07:00
Simon Michael
70e85d8e4b ;doc: regen manuals
[ci skip]
2020-03-07 15:06:39 -08:00
Simon Michael
1883ff4499 bump to dev version 2020-03-07 15:06:18 -08:00
Simon Michael
5639b47d85 ;ci: use --pedantic for all; fix a warning with unit test suites 2020-03-07 14:43:50 -08:00
Simon Michael
7ad0f9dd6d ;lib, cli: fix success-hiding in unit test suites 2020-03-07 14:10:22 -08:00
Simon Michael
5ab31f1111 ;lib, cli: hide successes in unit test suites' output 2020-03-07 04:00:55 -08:00
Stephen Morgan
702c958487 lib: Replace some utility functions with library functions. 2020-03-02 12:45:30 -08:00
Simon Michael
6dfdc2bee8 ;one more cabal file update. Not in hackage tarballs. 2020-03-01 17:42:20 -08:00
Simon Michael
07a05d5c76 ;doc: finalise changelogs
More cleanup needed, but time's up.

[ci skip]
2020-03-01 17:33:18 -08:00
Simon Michael
061bf73b61 ;doc: regen manuals
[ci skip]
2020-03-01 17:29:01 -08:00
Simon Michael
ba44d00bed ;bump version to 1.17 2020-03-01 17:29:01 -08:00
Simon Michael
889767f1bd ;bump tested-with
[ci skip]
2020-03-01 17:28:43 -08:00
Simon Michael
04fb132496 ;doc: draft changelogs
[ci skip]
2020-03-01 16:44:28 -08:00
Simon Michael
2c8a6e988f lib: Hledger.Read.CsvReader cleanup
Exports added: CsvRecord, CsvValue, csvFileFor

Exports removed: expandIncludes, parseAndValidateCsvRules, transactionFromCsvRecord
2020-02-27 23:37:32 -08:00
Simon Michael
3aebf03864 ;doc: json tweaks
[ci skip]
2020-02-26 11:48:09 -08:00
Simon Michael
a33a9d61c2 json: use a simpler, more consumable number representation (#1195)
Amounts in JSON are now rendered as simple Numbers with up to 10
decimal places, instead of Decimal objects which would in some cases
have 255 digits, too many for most JSON parsers to handle.
A provisional fix, see the comment in Json.hs for more detail.
2020-02-26 11:48:09 -08:00
Simon Michael
4c321cee4a ;doc: update output dest/format docs; add notes about JSON
[ci skip]
2020-02-25 09:25:48 -08:00
Simon Michael
2a5f7819af bs,cf,is,bal,print,reg: support json output format 2020-02-24 17:49:53 -08:00
Simon Michael
bc9bdf8108 ;print: refactor, drop unneeded ropts tweak 2020-02-24 17:49:53 -08:00
Simon Michael
7f16d23898 ;refactor: extract --value=then error message 2020-02-24 17:49:53 -08:00
Simon Michael
8b520b5c3e bs,cf,is,bal,print,reg: reject invalid output formats 2020-02-24 17:49:45 -08:00
Simon Michael
7ec25da13a web: edit/upload: normalise line endings, avoiding parse errors (#1194)
Renamed: writeValidJournal -> writeJournalTextIfValidAndChanged

Added comments clarifying line ending behaviour of:
add, import, appendToJournalFileOrStdout, readFilePortably,
writeFileWithBackupIfChanged, writeJournalTextIfValidAndChanged

Summary of current behaviour:

- hledger add and import commands will append with (at least some)
  unix line endings, possibly causing the file to have mixed line
  endings

- hledger-web edit and upload forms will write the file with
  the current system's native line endings, ie changing all
  line endings if the file previously used foreign line endings.
2020-02-24 14:04:44 -08:00
Simon Michael
696ec4998b ;doc: regen help/manuals
[ci skip]
2020-02-22 11:40:41 -08:00
Simon Michael
b9b5702946 ;doc: add hledger-ui note to --forecast help (#1193)
[ci skip]
2020-02-22 11:40:41 -08:00
Simon Michael
e8e1566083 ;bal: doc: document --transpose; remove obsolete limitation note
[ci skip]
2020-02-20 10:02:02 -08:00
Simon Michael
bd0753101e bs, cf, is: in csv output, subreport headings had two excess columns 2020-02-12 10:48:04 -08:00