Simon Michael
7063eba13c
fix: bal: budget goal amounts now respect -c styles ( fixes #1907 )
2022-08-03 17:43:04 +01:00
Simon Michael
229fe6ac58
fix: areg, ui: show transactions normally with a type: query ( #1905 )
...
accountTransactionsReport was not account types-aware.
There might be more of these lurking.
2022-08-03 10:38:42 +01:00
Simon Michael
910b37abf8
fix: check: recentassertions: drop the cleared requirement ( #1899 )
...
It was causing trouble and complicating things too much.
I wanted it as another signal of being "caught up", but YAGNI.
2022-08-03 09:53:55 +01:00
Simon Michael
1ed8c20978
feat: check recentassertions disallows assertion lag > 7 days
...
hledger check recentassertions (or flycheck-hledger if you enable this
check) will complain if any balance-asserted account does not have a
balance assertion within 7 days before its latest posting. This aims
to prevent the situation where you are regularly updating your
journal, but forgetting to check your balances against the real world,
eventually requiring you to dig back through months of data to find
the error.
2022-08-01 06:53:04 +01:00
Simon Michael
217cfbd389
imp: errors: assertions: improve sample hledger command
2022-07-31 08:26:30 +01:00
Simon Michael
442ef9361c
feat: api: quoteForCommandLine: some very shady CLI escaping
2022-07-31 08:26:30 +01:00
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
7068517f2c
fix: bal: budget goals were ignoring rule-specified start date
2022-07-12 10:46:29 +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
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
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
Simon Michael
2f8f922256
dev: fix doctests after "Error: " addition ( #1436 )
2022-04-25 02:56:59 -10:00
Simon Michael
a00dc04e0d
imp: check: uniqueleafnames: use the standard error format ( #1436 )
...
Hledger.Read.Common:
export makePostingErrorExcerpt
2022-04-25 02:56:59 -10:00
Simon Michael
7e45ab338f
imp: check: show column ranges properly ( #1436 )
2022-04-25 02:56:59 -10:00
Simon Michael
66d0beea5e
imp: check: ordereddates: use the standard error format ( #1436 )
...
Hledger.Read.Common:
export makeTransactionErrorExcerpt
2022-04-25 02:56:59 -10:00
Simon Michael
792434ca7d
imp: check: payees: use the standard error format ( #1436 )
2022-04-25 02:56:59 -10:00
Simon Michael
c7e8f58c33
imp: check: mark all error columns when that's preferable ( #1436 )
...
Undeclared commodity errors now mark the whole amount and assertion
region, since locating the exact position of commodity symbols is
difficult.
2022-04-25 02:56:59 -10:00
Simon Michael
8f4405e628
dev: check: refactor error messages ( #1436 )
2022-04-25 02:56:59 -10:00
Simon Michael
6ec0e05c42
imp: check: commodities: use the standard error format ( #1436 )
2022-04-25 02:56:59 -10:00
Simon Michael
4b3644d780
imp: check: accounts: print a standardised error message like megaparsec's ( #1436 )
...
added:
formatExcerptLikeMegaparsec
2022-04-25 02:56:59 -10:00
Simon Michael
f47d423a67
lib: error' now adds an Error: prefix
2022-04-25 02:56:59 -10:00
Simon Michael
5ab7b9f643
ref: HledgerParseErrors type alias
2022-04-25 02:56:59 -10:00