Commit Graph

1511 Commits

Author SHA1 Message Date
Dmitry Astapov
8844ef1b5f lib: put conditionalblockp pasrser first as it is a more common case 2020-06-22 12:10:47 -07:00
Dmitry Astapov
ed01e57b23 lib: tabular rules separator cannot be space 2020-06-22 12:10:47 -07:00
Dmitry Astapov
c397b90b5b lib: memoize "if blocks that assign filed f" for 50% CSV reader speedup 2020-06-22 12:10:47 -07:00
Dmitry Astapov
834e9ec104 lib: condition tables in csv rules + tests 2020-06-22 12:10:47 -07:00
Simon Michael
e3cae4aadc valuation: implement new --infer-value flag & semantics (#1239, #1253) 2020-06-19 14:40:20 -07:00
Simon Michael
467210c796 ;valuation: refactor, update, clean up 2020-06-19 14:40:20 -07:00
Simon Michael
122309ced7 ;lib: Debug comment 2020-06-19 14:39:32 -07:00
Simon Michael
06d5014f5f ;lib: multibalancereport: apply debug output policy 2020-06-16 21:00:08 -07:00
Martin Michlmayr
7310951178 doc: fix typos 2020-06-16 19:13:18 -07:00
Simon Michael
562480efea ;lib: debug doc 2020-06-14 17:27:15 -07:00
Simon Michael
684cb45e1a tweak debug levels, document some guidelines
Beginnings of a project-wide policy for what output to show at
each debug level, for now. Later we'll want more flexibility,
eg filtering by topic.
2020-06-14 17:17:09 -07:00
Simon Michael
6e36ede9aa ;valuation: refactor 2020-06-14 15:48:16 -07:00
Simon Michael
c8773854f0 ;doc: valuation: more cleanup 2020-06-13 12:41:02 -07:00
Simon Michael
4bf4c62181 journal: default valuation commodity from P only, take 2 (#1239, #1253) 2020-06-13 09:50:36 -07:00
Simon Michael
03b4b2dedc journal: default valuation commodity comes from P directives only (#1239, #1253) 2020-06-12 21:25:38 -07:00
Simon Michael
c59565ca5b ;fix Json.hs with old GHCs 2020-06-06 15:33:04 -07:00
Simon Michael
b50c3a694c ;lib: note issue with Journal's JSON 2020-06-06 12:54:58 -07:00
Simon Michael
b86ced5ee9 lib: replace jsonPrettyText with toJsonText in Hledger.Data.Json 2020-06-06 12:54:58 -07:00
Stephen Morgan
be25fe360e lib: Parser now accepts .. as a synonym for to in date ranges. 2020-06-04 19:30:42 -07:00
Stephen Morgan
2f71da8838 lib: More consistent period formatting. 2020-06-04 19:30:42 -07:00
Simon Michael
d963944c99 lib: add jsonPrettyText helper, depend on aeson-pretty 2020-06-04 15:12:57 -07:00
Simon Michael
00e9e844ac journal: the include directive now accepts a file format prefix
This works with glob patterns too, applying the prefix to each path.
This can be useful when included files don't have the standard file
extension, eg:

include timedot:2020*.md
2020-06-04 13:59:26 -07:00
Dmitry Astapov
b7413edf22 lib: --forecast=PERIODICEXPR. Fixes #835, #1236 2020-06-03 15:53:00 -07:00
Dmitry Astapov
cbf4029b8b lib: test for issue with sign checking code + fix 2020-06-01 15:17:15 -07:00
Simon Michael
97f2235bca ;lib: refactor amount cost functions
Rename costOfAmount -> amountCost, costOfMixedAmount -> mixedAmountCost,
drop amountToCost, mixedAmountToCost.
2020-05-31 15:48:08 -07:00
Simon Michael
660ba7e1d9 lib: clarify zero-checking function names
isZeroAmount                -> amountLooksZero
isReallyZeroAmount          -> amountIsZero
isZeroMixedAmount           -> mixedAmountLooksZero
isReallyZeroMixedAmount     -> mixedAmountIsZero
isReallyZeroMixedAmountCost dropped
2020-05-29 18:57:22 -07:00
Simon Michael
1087e790cf ;lib: refactor transactionCheckBalanced 2020-05-29 17:57:10 -07:00
Simon Michael
7bcc205622 lib: drop transactionPostingBalances 2020-05-29 17:33:53 -07:00
Simon Michael
0a5fa33f9d split more long transaction balancing errors into lines; refactor 2020-05-29 16:31:15 -07:00
Simon Michael
924ec1c98d journal: clearer transaction balancing errors; refactor
As mentioned by netvor on IRC, the unbalanced transaction error was
not too clear when postings all have the same sign.

Some other wording has been clarified, and the main error message is
now shown on multiple lines for readability (at the cost of
predictability/grepability..)

There's also a probably unnoticeable change: selecting which parts of
the error to show is now based on display precisions (reusing the
balanced check logic), rather than original precisions.
2020-05-29 16:07:58 -07:00
Simon Michael
61264cfdc0 lib: isNegativeMixedAmount handles all-negative multi-comm. amounts 2020-05-29 13:07:02 -07:00
Simon Michael
e6f9f09b41 ;lib: refactor, consolidate, add transactionCheckBalanced 2020-05-29 11:57:48 -07:00
Henning Thielemann
ec27eb6b17 ;web: maintain query when choosing a different 'inacct' account on the sidebar 2020-05-27 04:59:55 -07:00
Simon Michael
e1ddfc3a1b lib: also infer market prices from transactions, like Ledger (#1239) (WIP) 2020-05-25 17:45:31 -07:00
Dmitry Astapov
cbacef21eb lib: multiBalanceReport derives query from ReportOpts 2020-05-25 15:50:14 -07:00
Simon Michael
40c296a446 lib: rename finaliseJournal -> journalFinalise 2020-05-23 09:45:35 -07:00
Simon Michael
2c1cbb7956 ;csv: remove a comment breaking doctests 2020-05-12 18:01:05 -07:00
Simon Michael
6b2dfad98c ;csv: clarify that whitespace is not stripped when matching 2020-05-09 15:43:44 -07:00
Simon Michael
3ef2fc9567 show a clearer error message on encountering a malformed regexp 2020-05-07 17:33:05 -07:00
Vladimir Sorokin
5b88bfb834 csv: Increase maximum number of postings in CSV reader from 9 to 99.
The ordering of journalfieldnames is changed in order to comply with the requirement stated in the comment:
"Names must precede any other name they contain, for the parser".
If left unchanged, "account1" would precede "account11", "account12", and so on, which would break the parsing.
With the new ordering, "account11" precedes "account1".
2020-04-26 14:52:02 -07:00
Simon Michael
784d882e01 csv: combine amount assignments better, fix 1.17.1 regression (#1226) 2020-04-16 19:04:36 -07:00
Simon Michael
b149c0ba0c ;csv: tweak the too-many-amounts error more 2020-04-16 12:59:19 -07:00
Simon Michael
3693fd4eb6 ;csv: mention doc url in too many amounts error (#1226) 2020-04-16 08:36:04 -07:00
Simon Michael
1428291dd6 don't let case of file extension break file format detection (#1225) 2020-04-15 11:31:28 -07:00
Simon Michael
3ad2e50ec5 journal: also parse Ledger-style "virtual posting costs" - (@), (@@) 2020-04-08 20:22:03 -07:00
Simon Michael
847f924828 journal: comment fix 2020-04-08 20:00:18 -07:00
Simon Michael
f4a1a31712 journal: also support lot dates ([DATE]) 2020-04-08 19:55:55 -07:00
Simon Michael
fedde7fab1 journal: also support the total lot price variants ({{}}, {{=}}) 2020-04-08 19:18:39 -07:00
Simon Michael
ea3b290dd0 journal: more flexible, Ledger-compatible parsing of lot prices
We now accept (but still ignore) a fixed or nonfixed ({=} or {}) lot
price following a posting amount, and it may appear before or after a
transaction price (@ or @@). And it may no longer appear after a
balance assertion.

Also: fixedlotpricep renamed to lotpricep, now also parses non-fixed
lot prices. A bit of amount parsers cleanup.
2020-04-08 15:26:18 -07:00
Simon Michael
10f8dc84a5 period expressions: allow "until", like Ledger (synonym for "to") 2020-04-08 14:26:38 -07:00