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
Simon Michael
2f28e1b0a7
ref: rename CustomErr -> HledgerParseErrorData
...
Verbose, but use every chance to clarify the complicated parse error
situation.
2022-04-25 02:56:59 -10:00
Simon Michael
81ad760e49
test: disable doctest for all but GHC 9.2
2022-04-25 01:36:14 -10:00
Simon Michael
353312e045
lib: enable doctests with GHC 9.2+ ( #1503 )
...
https://github.com/sol/doctest/issues/301 /
https://github.com/sol/doctest/issues/327
seem to be specific to GHC 9.0.
2022-04-25 00:33:07 -10:00
Simon Michael
53332ee6a5
stack: re-enable hledger-web with ghc 9.2
2022-04-15 15:07:17 -10:00
Simon Michael
133c54434a
;doc: changelogs
2022-04-14 13:59:03 -10:00
Simon Michael
8de85be658
;doc: update manuals
2022-04-14 12:39:18 -10:00
Simon Michael
5af224d534
fix: tags: also match accounts declared but not used ( #1857 )
...
By default, all account declarations and all transactions are searched;
but when there's a query involving transaction fields,
account declarations unrelated to the matched transactions are not searched.
added:
queryIsCode
queryIsTransactionRelated
2022-04-14 12:28:43 -10:00
Simon Michael
4f26309328
ref: clean up Query definition
2022-04-14 11:56:37 -10:00
Simon Michael
161c911cb4
imp: Hledger.Query: new predicates, haddock cleanups
...
added:
matchesQuery,
queryIsAccountRelated,
queryIsTransactionOrPostingRelated,
2022-04-14 10:58:31 -10:00
Stephen Morgan
8cc59df513
fix: Ensure date2 is used for journal valuation if requested. ( #1851 )
2022-04-14 07:27:17 -10:00
Simon Michael
aa3807e157
ref: journalAccountTypes
2022-04-11 09:18:23 -10:00
Stephen Morgan
1aff74f702
cln: Reduce duplication in test utilities.
2022-03-26 15:35:19 -10:00
Stephen Morgan
8968733630
cln!: Clean up journal parsing.
...
parseAndFinaliseJournal' has been removed. In the unlikely event you
needed it in your code, you can replace it with:
parseAndFinaliseJournal' parser iopts fp t =>
initialiseAndParseJournal parser iopts fp t
>>= liftEither . journalApplyAliases (aliasesFromOpts iopts)
>>= journalFinalise iopts fp t
Some parsers have been generalised from JournalParser to TextParser.
2022-03-26 15:35:19 -10:00
Simon Michael
a2f6b30fbd
cln: silence some warnings/lints
2022-03-26 08:34:21 -10:00
Simon Michael
db1818ac4a
imp: consistent ghc warnings
2022-03-26 08:27:29 -10:00
Simon Michael
d9ecd1eb9d
imp: update to modern warning flags
2022-03-25 20:28:34 -10:00
Stephen Morgan
bffb6c8c82
ref: smartdate: Improve ergonomics of SmartDate constructors.
2022-03-25 19:10:58 -10:00
Simon Michael
d60e1464d5
imp: fix MonadIO import ( #1847 )
2022-03-25 14:49:56 -10:00
Stephen Morgan
31c7c5d1ca
fix: Clean up build failures due to redundant imports and duplicate
...
function.
2022-03-26 11:37:32 +11:00
Stephen Morgan
603b2e9f09
ref: Use ExceptT String IO a instead of IO (Either String a).
...
This increases composability and avoids some ugly case handling. We
re-export runExceptT in Hledger.Read.
The final return types of the following functions has been changed from
IO (Either String a) to ExceptT String IO a. If this causes a problem,
you can get the old behaviour by calling runExceptT on the output:
readJournal, readJournalFiles, readJournalFile
Or, you can use the easy functions readJournal', readJournalFiles', and
readJournalFile', which assume default options and return in the IO
monad.
2022-03-25 14:23:27 -10:00
Simon Michael
5281c5d647
imp: allow pivoting on 'status' also
2022-03-18 21:38:31 -10:00
Simon Michael
b584774a03
ci: fix a typo I fat-fingered
2022-03-18 11:03:30 -10:00
Simon Michael
2b2d643333
test: errors: make tests runnable
2022-03-18 06:59:33 -10:00
Stephen Morgan
e6bf04fce3
fix: aliases: Make sure we can escape forward slashes in account
...
aliases, but otherwise the regular expression handler handles escapes.
2022-03-16 19:01:03 -10:00
Stephen Morgan
4a80551406
fix: price: Make sure inferred market prices have the correct sign with
...
total prices. (#1813 )
Also reduce duplication for inferring market prices (previously it was
done separately in both Hledger.Data.Journal and
Hledger.Cli.Commands.Prices), and remove *TotalPriceToUnitPrice
functions, since unit prices cannot represent all total prices.
Add a helper function numDigitsInt to get the number of digits in an
integer, which has a surprising number of ways to get it wrong.
2022-03-10 17:34:49 -10:00
Stephen Morgan
45408183fe
dev: reg: areg: Strip prices early on in PostingsReport and AccountTransactionsReport, when possible.
...
This results in big speedups in cases when we have many transaction prices, like in examples/10000x1000x10.journal. This can be disabled with the show_costs_ option in ReportOpts.
2022-03-10 17:21:40 -10:00
Stephen Morgan
a65e64115a
fix: alias: Allow escaped characters in regular expression aliases. ( #982 )
2022-03-10 17:00:03 -10: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
f0e00b3a43
;doc: update changelogs
2022-03-10 16:55:46 -10:00
Simon Michael
af7a5f98e3
;cabal: update cabal files
2022-03-05 13:24:48 -10:00
Simon Michael
5aab2cbf40
;pkg: bump version to 1.25.99
2022-03-05 13:24:48 -10:00
Simon Michael
e4ca7187fe
doc: finalise changelogs for 1.25
2022-03-04 17:51:59 -10:00
Simon Michael
2ee914bdc7
;doc: update changelogs
2022-03-04 17:04:50 -10:00
Simon Michael
e9c19e12ef
;cln: redundant pragma
2022-02-11 09:22:26 -10:00
Simon Michael
44211c1c57
ref: move Posting account name fns to AccountName
...
accountNamePostingType accountNameWithoutPostingType accountNameWithPostingType
joinAccountNames
concatAccountNames
accountNameApplyAliases accountNameApplyAliasesMemo
2022-02-11 09:18:35 -10:00
Simon Michael
41d7c7f6b3
doc: lib: changelog fix
2022-02-07 11:58:29 -10:00
Stephen Morgan
2f47ae05c6
fix: csv: Allow unicode in field references for csv. ( #1809 )
2022-02-06 14:16:17 -10:00