Commit Graph

2738 Commits

Author SHA1 Message Date
Simon Michael
8ec31b079c imp: accounts: --declarations shows that info, not --debug (#1909) 2022-08-16 09:13:30 +01:00
Simon Michael
4be4525b90 dev: tests for multi-file account display order (#1909) 2022-08-16 09:13:30 +01:00
Simon Michael
035f2ac4bb imp: accounts: at --debug 2, show account declaration positions (#1909) 2022-08-16 09:13:30 +01:00
Simon Michael
3b34987bdd dev: accounts: clarifications 2022-08-04 19:01:11 +01:00
Simon Michael
4652400f17 ;doc: document account tags; account directive cleanups 2022-08-04 04:20:05 +01:00
Charlotte Van Petegem
75fc6767a9 fix: roi: make sure empty cashflows are skipped when determining first cashflow
Empty cashflows are added when the begin date of the report is before the first
transaction.
2022-08-03 18:16:42 +01:00
Simon Michael
7063eba13c fix: bal: budget goal amounts now respect -c styles (fixes #1907) 2022-08-03 17:43:04 +01:00
Simon Michael
0a43b4c624 dev: errors: make: don't pause when regenerating 2022-08-03 09:54:45 +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
fa31612b55 ;cabal: update cabal files 2022-08-03 07:23:05 +01:00
Simon Michael
c025d228a1 doc: check: add more details about recentassertions 2022-08-01 06:53:04 +01:00
Simon Michael
2fc74b6eab dev: add recentassertions test, update assertions test 2022-08-01 06:53:04 +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
5f11d3c52c pkg: cli: also update bounds in package.yaml (#1887) 2022-07-31 11:08:03 +01:00
ˌbodʲɪˈɡrʲim
c1f8b684ea hledger: bump lower bounds for Diff and githash
For earlier versions `cabal build -w ghc-9.2` fails with 
```
Hledger/Cli/Commands/Rewrite.hs:144:12: error:
    Not in scope: type constructor or class ‘D.Diff’
    Module ‘Data.Algorithm.Diff’ does not export ‘Diff’.
    |
144 | mapDiff :: D.Diff a -> DiffLine a
    |            ^^^^^^
```
and
```
Hledger/Cli.hs:49:37: error:
    • Couldn't match expected type: template-haskell-2.18.0.0:Language.Haskell.TH.Syntax.Code
                                      template-haskell-2.18.0.0:Language.Haskell.TH.Syntax.Q
                                      (Either String GitHash.GitInfo)
                  with actual type: template-haskell-2.18.0.0:Language.Haskell.TH.Syntax.Q
                                      (template-haskell-2.18.0.0:Language.Haskell.TH.Syntax.TExp
                                         (Either String GitHash.GitInfo))
    • In the expression: tGitInfoCwdTry
      In the Template Haskell splice $$tGitInfoCwdTry
      In the first argument of ‘versionStringWith’, namely
        ‘$$tGitInfoCwdTry’
   |
49 | versionString = versionStringWith $$tGitInfoCwdTry
   |
```
2022-07-31 10:57:28 +01:00
Simon Michael
85a0016e0a ;doc: manuals: hledger: journal format: fix differences link 2022-07-28 19:04:56 +01:00
Simon Michael
06c14ff034 ;doc: update manuals 2022-07-28 17:32:58 +01:00
Simon Michael
959bf0d989 ;doc: hledger manual: limitations: fix differences link 2022-07-28 17:25:09 +01:00
Simon Michael
439c1ac260 ;doc: manuals: add link for setting windows env vars 2022-07-26 09:44:07 +01:00
Simon Michael
a39cda6e02 ;doc: update manuals 2022-07-25 23:11:23 +01:00
Simon Michael
7b32b33dfb ;doc: workflows, hledger manual: fix support link (#1895) 2022-07-25 23:07:43 +01:00
Simon Michael
c21e8ebf21 ;doc: hledger: fix hledger-install link 2022-07-25 03:38:23 +01:00
Simon Michael
1c4f02cf03 ;doc: update manuals 2022-07-25 03:32:30 +01:00
Simon Michael
da2b8f5f34 ;doc: move add-ons list to manual > COMMANDS; cleanups 2022-07-25 03:31:05 +01:00
Simon Michael
54e1a8450e doc: clean up errors README, now published as hledger.org/ERRORS.html 2022-07-24 07:21:54 +01:00
Simon Michael
ed72763987 dev: errors: update functional tests 2022-07-23 02:40:29 +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
41cd8c3e06 dev: errors: small csv error test fixes 2022-07-15 11:16:29 +01:00
Simon Michael
da2c544555 dev: errors: readme: reorder, link 2022-07-15 10:27:48 +01:00
Simon Michael
82c52c1318 dev: errors: readme: update hledger/flycheck versions 2022-07-15 10:13:11 +01:00
Simon Michael
62f8ac5e60 dev: errors: update readme with CSV errors 2022-07-15 10:03:25 +01:00
Simon Michael
8d9356583c dev: errors: stable test listing order 2022-07-15 10:03:02 +01:00
Simon Michael
f1e5d7aa30 dev: errors: examples and tests of current CSV errors 2022-07-15 10:02:40 +01:00
Simon Michael
d0a7154b4a dev: errors: test generation improvements 2022-07-15 10:02:24 +01:00
Simon Michael
90c41529ef dev: errors: update func tests 2022-07-15 07:45:56 +01:00
Simon Michael
78d5939c19 dev: errors: improve timeclock errors 2022-07-14 19:24:46 +01:00
Simon Michael
aeae7232ca dev: errors: update readme 2022-07-14 19:13:09 +01:00
Simon Michael
5ac8f11853 dev: errors: update tests & readme, now including timeclock test 2022-07-14 19:00:49 +01:00
Simon Michael
fc1621e647 dev: errors: improve error test generation 2022-07-14 18:59:58 +01:00
Simon Michael
32c7f6300b imp: errors: improve, test timeclock errors 2022-07-14 11:57:32 +01:00
Simon Michael
27142896b3 doc: errors: note limitations 2022-07-14 11:57:32 +01:00
Simon Michael
a7d84b5fec dev: errors: update readme 2022-07-13 18:59:53 +01:00
Simon Michael
a828c7b2b8 dev: errors: update examples in readme 2022-07-13 17:59:20 +01:00
Simon Michael
96cbc4697c dev: errors: update tests 2022-07-13 17:58:55 +01:00
Simon Michael
c22e9f6cc8 dev: HLEDGER selects the hledger version when running error tests 2022-07-13 17:43:21 +01:00
Simon Michael
ebec23f614 dev: generate more robust error message tests 2022-07-13 17:43:11 +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
6fbcbf7c6b doc: update manuals 2022-07-12 16:01:33 +01:00
Simon Michael
9a34145569 ;doc: update CLI usage texts 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
6b42514dbc fix: errors: doc 2022-07-10 13:39:33 +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
82bfd2bebb ;doc: bse: clarify, link to account types 2022-06-07 02:24:53 +01:00
Simon Michael
ecb8023892 ;doc: bs, cf, is: clarify, link to account types 2022-06-07 02:17:26 +01:00
Simon Michael
496b59060f ;doc: bs, cf: add wikipedia link 2022-06-07 02:09:23 +01:00
Simon Michael
ffcd02301e ;doc: changelogs: typo 2022-06-05 02:05:23 +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
122620c335 ;doc: changelogs 2022-06-05 00:03:12 +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
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
6b174ae8a5 ;doc: csv: update link 2022-05-25 11:35:33 -10:00
Simon Michael
2d581d7d4d ;doc: update CLI usage texts 2022-05-23 05:42:27 -10:00
Simon Michael
52210cd114 ;doc: clarify 1.25 changelog about cash account detection 2022-05-23 05:40:01 -10:00
Simon Michael
43c0ca06c5 doc: cf: update cash account inference description for 1.25 2022-05-23 05:28:27 -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
74da8b80b8 ;doc: hledger manual: fix help example 2022-05-05 22:59:44 -10:00
Simon Michael
ab62e44c5d ;doc: hledger manual: fix save frequently used options link 2022-05-05 22:42:16 -10:00
Simon Michael
d9d8a298ed ;dev: tests: errors: readme 2022-05-01 10:14:55 -10:00
Simon Michael
6f4a5830b2 dev: tests: errors: add missing test journal (#1436) 2022-04-25 02:56:59 -10:00
Simon Michael
a1c9aa4114 dev: tests: errors: update tests/readme (#1436) 2022-04-25 02:56:59 -10:00
Simon Michael
45981832a6 dev: tests: errors: generate more robust tests more robustly (#1436) 2022-04-25 02:56:59 -10:00
Simon Michael
1a08baccc4 doc: update errors status (#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
1ff0f76524 cli: generate/update tests and readme from error test journals 2022-04-25 02:56:59 -10:00
Simon Michael
1130ad1abd doc: errors: update status (#1436) 2022-04-25 02:56:59 -10:00