Commit Graph

19 Commits

Author SHA1 Message Date
Simon Michael
d860d6d2fc api: Hledger.Data.Errors: export makeBalanceAssertionErrorExcerpt 2022-07-29 09:01:34 +01:00
Simon Michael
47ae346b21 imp: errors: assertions: improve wording, actual -> calculated 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
Simon Michael
5a343bf090 imp: errors: assertions: improve layout 2022-07-13 17:56:17 +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
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
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
Stephen Morgan
19ed6d3f00 cln!: sourcepos: Use megaparsec-supplied sourcePosPretty.
Change showSourcePos to sourcePosPretty, and showSourcePosPair to
sourcePosPairPretty.
2022-03-10 16:56:28 -10:00
Simon Michael
27b6e1d111 imp: nicer invalid balance assignment errors (tweak) 2022-01-26 08:59:19 -10:00
Simon Michael
30080a9aa1 imp: nicer invalid balance assignment errors 2022-01-21 17:33:19 -10:00
Simon Michael
35c1c9b6a2 pkg: progress towards supporting GHC 9.2 and newer libs (#1774)
hledger-lib builds, hledger's deps don't (shakespeare).
2021-12-06 12:32:50 -10:00
Stephen Morgan
1c90c7f97a fix: prices: Do not include zero amounts when calculating amounts for balance assignments. (#1736)
This is not usually a problem, but can get in the way of auto-inferring prices.
2021-11-18 20:59:52 -10:00
Stephen Morgan
4cfd3cb590 lib!: Remove GenericSourcePos, and replace it with either SourcePos or
(SourcePos, SourcePos).

This has been marked for possible removal for a while. We are keeping
strictly more information. Possible edge cases arise with Timeclock and
CsvReader, but I think these are covered.

The particular motivation for getting rid of this is that
GenericSourcePos is creating some awkward import considerations for
little gain. Removing this enables some flattening of the module
dependency tree.
2021-09-20 08:38:33 -10:00
Stephen Morgan
315e92c08b pkg!: Break functions related to balancing out into a separate module,
Hledger.Data.Balancing.

Both Hledger.Data.Transaction and Hledger.Data.Journal are massive
module with many things in them. Placing the balancing functions, which
are conceptually related, into a separate module helps keep things more
modular.

It also reduces the risk of import cycles, as right now balancing
functions cannot depend on any functions defined outside of
Hledger.Data.Transaction or Hledger.Data.Journal, respectively, if those
modules require basic transaction or journal functions.
2021-09-19 17:10:38 -10:00