Commit Graph

3045 Commits

Author SHA1 Message Date
Simon Michael
d860d6d2fc api: Hledger.Data.Errors: export makeBalanceAssertionErrorExcerpt 2022-07-29 09:01:34 +01:00
Simon Michael
f135001b87 ;dev: improve followingcommentp' doc 2022-07-28 09:14:13 +01:00
Simon Michael
47ae346b21 imp: errors: assertions: improve wording, actual -> calculated 2022-07-23 02:35:52 +01:00
Simon Michael
147856e3bb imp: errors: timeclock, csv error improvements 2022-07-23 02:35:52 +01:00
Stephen Morgan
c54fb4d514 imp: cost: Allow matching equity conversion equity postings to
transaction prices.

When given --infer-costs, hledger will now separately infer transaction
prices for different prices. Given a pair of adjacent conversion
postings, hledger will check if there is a single posting with a
transaction price which matches both the amounts. If so, it associates
those conversion postings to that priced post.

If it can't find any transaction price postings which match, it will
find the first non-transaction price post which matches one of the two
amounts, and will add a transaction price to that, and associate them.
2022-07-15 12:32:38 +01:00
Stephen Morgan
07d1b01287 imp: cost: Allow inferring cost from conversion equity postings with --infer-costs.
When given --infer-equity, hledger will change transaction prices to balancing equity postings. This introduces the inverse operation, --infer-costs, which will match balancing equity postings and transform them into a transaction price, allowing --cost to work properly with them. This is only a partial inverse as it needs to use some heuristics to match the postings which will not work in complicated cases.

Specifically, when hledger finds exactly two conversion postings in a transaction (by default, subaccounts of equity:conversion or equity:trad(e|ing)), it will find the first posting in the transaction whose amount is negative one of the conversion posting amounts, and inserts the corresponding transaction price.
2022-07-15 12:32:38 +01:00
Simon Michael
78d5939c19 dev: errors: improve timeclock errors 2022-07-14 19:24:46 +01:00
Simon Michael
32c7f6300b imp: errors: improve, test timeclock errors 2022-07-14 11:57:32 +01:00
Simon Michael
0ecc1ed79b dev: Uniqueleafnames.hs: fix haddock failure 2022-07-13 19:10:28 +01:00
Simon Michael
7d8fbe2dc0 dev: errors: update doctests 2022-07-13 19:00:00 +01:00
Simon Michael
5a343bf090 imp: errors: assertions: improve layout 2022-07-13 17:56:17 +01:00
Simon Michael
e172e5dd56 imp: errors: uniqueleafnames: more precise error message 2022-07-13 04:02:14 +01:00
Simon Michael
1c67d0860e imp: errors: more error prettification 2022-07-13 03:59:44 +01:00
Simon Michael
84f951e020 imp: errors: assertions, balanced: more consistent format
Move the unique text out of the first line and down to the
explanation.

Also, begin some general punctuation, capitalisation and wording
improvements.
2022-07-12 16:53:08 +01:00
Simon Michael
e6959743f5 fix: errors: assertions: don't show actual and asserted reversed 2022-07-12 16:35:45 +01:00
Simon Michael
41234f0e10 fix: errors: assertions: fix excerpt highlighting 2022-07-12 16:02:46 +01:00
Simon Michael
d07bf4afbb fix: errors: omit wrong column numbers in a number of error messages
accounts, commodities, payees, ordereddates, uniqueleafnames

The column numbers were accurate for the rendered excerpt but not
for the actual data.
2022-07-12 16:02:46 +01:00
Simon Michael
77f29aeee9 imp: errors: balancednoautoconversion: now different from balanced 2022-07-12 16:02:37 +01:00
Simon Michael
c885746aa8 imp: errors: balanced: show multicommodity amounts in one line format 2022-07-12 16:02:18 +01:00
Simon Michael
6fbcbf7c6b doc: update manuals 2022-07-12 16:01:33 +01:00
Simon Michael
7068517f2c fix: bal: budget goals were ignoring rule-specified start date 2022-07-12 10:46:29 +01:00
Simon Michael
d7f30d4fdf ;cabal: update cabal files 2022-07-11 11:18:24 +01:00
Simon Michael
d9c6406d2d doc: changelogs: updates 2022-07-11 11:02:18 +01:00
Simon Michael
7be94cf500 doc: changelogs: sync from release branch 2022-07-11 11:00:16 +01:00
Simon Michael
797cac4fc6 pkg: require safe 0.3.19+ to avoid deprecation warning 2022-07-11 06:03:14 +01:00
Simon Michael
1da7d4b7f7 imp: balanced, balancednoautoconversion: use new error format (#1436) 2022-07-10 12:12:03 +01:00
Simon Michael
b7e6583a72 imp: balance assertions now use new error format (#1436) 2022-07-10 11:39:41 +01:00
Simon Michael
42bcbad2fd imp: bal: budget goals now respect -H (#1879) 2022-07-09 09:59:17 +01:00
Stephen Morgan
3e60e784f3 fix: bal: Allow cumulative gain and valuechange reports
Previously, --cumulative with --gain or --valuechange would produce an
empty report. This fixes this issue to produce a reasonable report.
2022-07-08 16:34:23 +01:00
Simon Michael
dd14f9c822 imp: lib: Hledger.Utils.Parse: export HledgerParseErrors 2022-06-29 09:58:56 +01:00
Simon Michael
0c6cd819f2 ;doc: changelogs cleanup 2022-06-05 00:59:36 +01:00
Simon Michael
6017e5f237 ;doc: update changelogs 2022-06-05 00:56:10 +01:00
Simon Michael
f2db4c3840 ;cabal: update cabal files 2022-06-05 00:32:18 +01:00
Simon Michael
3e728b1d36 ;pkg: bump version to 1.26.99 2022-06-05 00:32:18 +01:00
Simon Michael
d8cce23b3f ;doc: changelogs: link 1.26 issues 2022-06-05 00:03:22 +01:00
Simon Michael
729a8b81e0 ;doc: update changelogs 2022-06-05 00:03:10 +01:00
Simon Michael
9833482c06 ;doc: update manuals 2022-06-05 00:02:59 +01:00
Simon Michael
d27a581e0f ;doc: update changelogs 2022-06-04 11:28:59 +01:00
Simon Michael
faa05764d7 ;cabal: update cabal files 2022-06-04 11:24:56 +01:00
Simon Michael
05dffe5029 imp: lib: allow doclayout 0.4 2022-06-04 11:24:35 +01:00
Stephen Morgan
9155d679fe fix!: Revert "fix!: utf-8: Use with-utf8 to ensure all files are read and written with utf8 encoding. (#1619)"
This reverts commit e233f001c5.

This would break at least some people's workflow. A lighter touch is
probably sufficient.
2022-06-01 09:35:18 +10:00
Simon Michael
1085a2a777 ;doc: update changelogs 2022-05-29 08:05:33 -10:00
Simon Michael
2bce910904 ;doc: update manuals 2022-05-25 11:35:47 -10:00
Simon Michael
a9779b2377 ref: move journal checking/pretty errors down further, to Hledger.Data
now at Hledger.Data.JournalChecks*, Hledger.Data.Errors
2022-05-21 18:29:13 -10:00
Simon Michael
307f723b0a lib: simpler, more consistent names for check functions
API changes:
journalCheckAccountsDeclared
journalCheckCommoditiesDeclared
journalCheckPayeesDeclared
->
journalCheckAccounts
journalCheckCommodities
journalCheckPayees
2022-05-21 18:29:13 -10:00
Simon Michael
65e913b7c5
Merge pull request #1834 from Xitian9/utf8
Use with-utf8 and don't use Data.Text.IO.
2022-05-21 17:50:59 -10:00
Stephen Morgan
e233f001c5 fix!: utf-8: Use with-utf8 to ensure all files are read and written with utf8 encoding. (#1619)
May also fix #1154, #1033, #708, #536, #73: testing is needed.

This aims to solve all problems where misconfigured locales lead to
parsers failing on utf8-encoded data. This should hopefully avoid
encoding issues, but since it fundamentally alters how encoding is dealt
with it may lead to unexpected outcomes. Widespread testing on a number
of different platforms would be useful.
2022-05-22 13:12:19 +10:00
Stephen Morgan
15a5d5d38b
Merge pull request #1814 from Xitian9/csverror
imp: csv: Give an error if unable to substitute csv templates. (#1803)
2022-05-22 11:35:39 +10:00
Simon Michael
db26456e1c imp: consolidate ordereddates check under Hledger.Read.Checks too
And remove the last vestiges of older more complex behaviour.
ordereddates now always checks all transactions in each file,
unaffected by a query. (But still affected by --date2).
2022-05-09 00:05:39 -10:00
Simon Michael
810a868c88 ref: consolidate most checks under Hledger.Read.Checks
and error message helpers in Hledger.Read.Error.
2022-05-09 00:04:33 -10:00