Simon Michael
7ffe38677a
;lib: parseAndFinaliseJournal: note txns order issue ( #1091 )
2019-09-25 23:07:22 -10:00
Simon Michael
6037d701b6
;lib: document RawNumber, AmbiguousNumber, DigitGrp ( #1091 )
2019-09-25 21:26:06 -10:00
Simon Michael
24ce2686f4
drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles
...
in JournalReader.hs. If you still need this, feel free to work on
those errors. But hopefully not, because dropping base 4.8 should
permit some code cleanups.
2019-09-14 03:45:37 -07:00
Simon Michael
977d4f009e
lib, cli: disable hledger-lib test suites, hledger benchmark suite
...
by default. hledger-lib's doctests and easytests test suites (each ?)
require an additional slow rebuild of hledger-lib and are not worth
the time, energy and carbon. hledger's test suite runs those same
easytest tests (but not the doctests).
2019-09-14 03:45:37 -07:00
Simon Michael
180f4baedb
;lib: csv: note cause of #1087
...
[ci skip]
2019-09-14 03:45:37 -07:00
Simon Michael
f92b2fe6ef
;lib: csv: refactor: clarify, get rid of some IO/ExceptT
...
Rule parsing doesn't need IO (since we are doing expandIncludes as a
pre-parsing step).
2019-09-14 03:45:37 -07:00
Simon Michael
3c05662ce2
;lib: csv: clarify confusing imports
2019-09-13 18:11:40 -07:00
Simon Michael
46caa1d4ef
;lib: csv: rename error-prone default rules
2019-09-13 17:51:14 -07:00
Simon Michael
a0deb88796
;doc: regen manuals
...
[ci skip]
2019-09-13 11:00:03 -07:00
Simon Michael
f65fc47185
;bump version to 1.15.99
...
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
e851bdf834
;doc: changelogs
...
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
af21ae6eb6
;doc: regen manuals
...
Wrapping and hyphenation has changed again, which I thought would
be more stable now with same tool versions on laptop and server.
Who knows.
2019-09-13 08:43:33 -07:00
Dmitry Astapov
568cb32677
lib: more runPeriodicTransaction tests (lifted from #1085 and spanIntervalIntersect)
2019-09-11 16:09:28 -07:00
Dmitry Astapov
e9d300bef3
lib: dont raise when there is neither budget nor transactions in the report period
2019-09-11 16:09:28 -07:00
Dmitry Astapov
cf74972148
bin: improve debug output for budger report (show budget txns)
2019-09-11 16:09:28 -07:00
Dmitry Astapov
cf4029a5ed
lib: fix generation of periodic transactions with days/months/... repeat
2019-09-11 16:09:28 -07:00
Simon Michael
acd7010e5a
;doc: "curses-style interface" -> "terminal interface"
...
[ci skip]
2019-09-10 18:14:16 -07:00
Simon Michael
ef04907484
;doc: fix broken manual links in manuals source
...
[ci skip]
2019-09-10 17:02:56 -07:00
Simon Michael
85d48a6b0e
;doc: regen manuals (on server)
...
Usually done on my laptop, but the toolchain on both machines should
produce the same result these days..
[ci skip]
2019-09-09 08:04:26 -07:00
Simon Michael
fb521e248b
;doc: journal: periodic transactions: more tweaks
...
[ci skip]
2019-09-09 08:02:22 -07:00
Simon Michael
94d3eb1cfb
;doc: journal: periodic transactions: more fixes, clarifications
...
[ci skip]
2019-09-09 07:45:09 -07:00
Simon Michael
901e5174d7
;doc: journal: highlight some gotchas with periodic transactions
...
[ci skip]
2019-09-09 07:10:26 -07:00
Simon Michael
3b35e0afca
;site: manuals: fix many links that went to a prerelease manual
...
[ci skip]
2019-09-09 06:24:08 -07:00
Simon Michael
499e20c0b2
lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11
...
fail is moving out of Monad and into it's own MonadFail class.
This will be enforced in GHC 8.8 (I think).
base-compat/base-compat-batteries 0.11.0 have adapted to this,
and are approaching stackage nightly
(https://github.com/commercialhaskell/stackage/issues/4802 ).
hledger is now ready to build with base-compat-batteries 0.11.0, once
all of our deps do (eg aeson). We are still compatible with the older
0.10.x and GHC 7.10.3 as well.
For now we are using both fails:
- new fail (from Control.Monad.Fail), used in our parsers, imported
via base-compat-batteries Control.Monad.Fail.Compat to work with
older GHC versions.
- old fail (from GHC.Base, exported by Prelude, Control.Monad,
Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's
Test, since I couldn't find their existing fail implementation to update.
To reduce (my) confusion, these are imported carefully, consistently,
and qualified everywhere as Fail.fail and Prelude.fail, with clashing
re-exports suppressed, like so:
import Prelude hiding (fail)
import qualified Prelude (fail)
import Control.Monad.State.Strict hiding (fail)
import "base-compat-batteries" Prelude.Compat hiding (fail)
import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail
2019-09-08 17:13:47 -07:00
Simon Michael
c7746131fc
;lib: clarify parser monad transformers a little
...
[ci skip]
2019-09-08 10:40:47 -07:00
Simon Michael
89c3011df4
;doc: 1.15.2 changelogs
...
[ci skip]
2019-09-05 15:35:59 -07:00
Simon Michael
7ae75022bf
;doc: regen manuals
2019-09-05 15:35:44 -07:00
Simon Michael
cd5af48165
lib, cli: bump version to 1.15.2
2019-09-05 15:35:19 -07:00
Simon Michael
a7f172b085
valuation: -V/-X respects report end date, code/doc cleanups ( #1083 )
...
-V (and -X) now respects a report end date set with -e/-p/date: when
choosing the valuation date, similar to hledger 1.14 and Ledger.
This means that -V/-X aren't exactly like either --value=end or
--value=now. The "Effect of --value on reports" doc has been extended
accordingly, and much of it has been reworded and made more accurate.
2019-09-05 13:41:36 -07:00
Simon Michael
6d4d43dc62
;lib, cli: fix 1.15.1 changelog heading
...
[ci skip]
2019-09-02 12:53:51 -07:00
Simon Michael
90e5a5f95b
;lib, cli: don't forget to commit the cabal file
2019-09-02 12:31:06 -07:00
Simon Michael
08e011af37
lib: note doctests fix (omitted from 1.15), bump to 1.15.1
2019-09-02 12:25:29 -07:00
Simon Michael
16a3c96da0
;doc: regen manuals
...
[ci skip]
2019-09-02 11:11:56 -07:00
Simon Michael
e9c28fd9a3
;doc: journal: drop unused file
...
[ci skip]
2019-09-02 06:10:22 -07:00
Simon Michael
b919c92892
;doc: journal: change some comments to avoid confusing markdown-mode
...
[ci skip]
2019-09-02 06:09:35 -07:00
Simon Michael
ede6a51f08
;doc: finalise changelogs
...
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
00f3ad8d3f
;doc: changelogs
...
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
b1859769ac
;doc: regen man pages
...
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
29f7654c3a
bump versions to 1.15
2019-09-01 08:53:06 -07:00
Simon Michael
095badd7f9
;fix doctests
2019-08-31 17:15:48 -07:00
Simon Michael
c2736be4aa
;doc: changelogs
...
[ci skip]
2019-08-30 21:26:23 -07:00
Simon Michael
f55985eb9b
;site: stop using pandoc's fenced_code_attributes
...
[ci skip]
2019-08-26 18:41:33 -07:00
Simon Michael
da6718806a
;doc: don't add page TOCs any more, sphinx has it covered
...
[ci skip]
2019-08-26 09:37:03 -07:00
Simon Michael
5925808108
lib, web: unhide exports, fix build
2019-08-19 12:30:54 +01:00
Simon Michael
8a7905ac73
;doc: changelogs
...
[ci skip]
2019-08-19 12:03:54 +01:00
Simon Michael
11519744d8
;lib: Valuation: hide some exports
2019-08-19 11:59:32 +01:00
Simon Michael
62e96b1b20
;lib: move PriceGraph, PriceOracle, ValuationType to Valuation.hs
2019-08-19 02:21:30 +01:00
Simon Michael
1cbbe8f43d
memoise market valuation, making it fast ( #999 )
2019-08-19 02:16:39 +01:00
Simon Michael
4beb416070
lib: currying helpers
2019-08-19 02:09:27 +01:00
Simon Michael
7177f533b2
;lib: pricesAtDate: refactor
2019-08-01 18:31:39 +02:00
Simon Michael
c14f22b975
;lib: depend on timeit
...
Allows easy benchmarking at ghci prompt and I expect will be used for
reporting timing info later.
2019-08-01 18:31:39 +02:00
Simon Michael
70986769ef
;lib: derive NFData for MultiBalanceReport, PriceGraph for criterion
...
Allow these to be timed with criterion at ghci prompt.
2019-08-01 18:31:39 +02:00
Simon Michael
d193d757ea
;lib: multiBalanceReport: fix error message typo
2019-08-01 18:22:14 +02:00
Simon Michael
c7f9356fd1
;doc: edit changelogs
...
[ci skip]
2019-07-25 12:33:58 +01:00
Simon Michael
02ed4f5d04
;lib: intervalFromRawOpts: replace undefined with an error message
2019-07-25 10:46:45 +01:00
Simon Michael
030a409dd3
;doc: update changelogs
...
[ci skip]
2019-07-25 08:48:01 +01:00
Simon Michael
35799142dd
Merge pull request #914 from simonmichael/rule-tags
...
tags for matching rule-generated txns and postings
2019-07-17 18:38:14 +01:00
Simon Michael
6e3a264f17
lib: export aliasnamep for hledger-check ( #1072 )
2019-07-16 23:30:15 +01:00
Simon Michael
e560afccd2
;lib: package.yaml comment cleanups
...
[ci skip]
2019-07-15 17:18:28 +01:00
Caleb Maclennan
11d9e5eb6a
code: Strip extraneous trailing whitespace from Haskell sources
2019-07-15 16:40:49 +01:00
Caleb Maclennan
7e332fda20
docs: Explain in more detail the parsing of the payee vs. notes fields
2019-07-15 08:22:16 +01:00
Simon Michael
6b61d1e0f1
;lib: move transactionNote/Payee to Transaction.hs
2019-07-15 08:22:16 +01:00
Simon Michael
a5372168bc
;lib: suppress doctest failures with GHC < 8.2
...
[ci skip]
2019-07-14 04:40:07 -07:00
Simon Michael
6f2f8d7638
;deps: a better fix for nubSortBy with ghc 7.10, 8.0
...
nubSortBy and nub . sortBy are not equivalent, it seems.
I didn't notice the failing valuation func tests.
2019-07-13 00:13:33 -07:00
Simon Michael
503d21ef77
;lib: also update fgl bounds in cabal file
2019-07-13 08:08:36 +01:00
Simon Michael
40dd5e41cb
;deps: bump fgl lower bound to fix ghc 7, 8.0 builds
2019-07-12 15:25:19 -07:00
Simon Michael
7d5f33441e
;doc: draft changelogs
...
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
a6e9b11a54
;cabal: bump tested-with, regen cabal files
...
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
ec310aea73
;lib: avoid nubSortBy which breaks ghc 7, 8.0 builds
2019-07-12 15:21:57 -07:00
Simon Michael
f8cc60d287
;csv: doc: link to #1051
...
[ci skip]
2019-07-08 08:02:54 +01:00
Simon Michael
5c3e4de647
;lib: periodFromRawOpts: clarify doc ( #1011 )
...
[ci skip]
2019-07-01 18:33:18 +01:00
Jakob Schöttl
e483faf7f0
Bugfix for #1011 : begin/end date options
2019-06-30 10:38:06 +02:00
Simon Michael
014db152d9
add, web: disallow unsafe trailing dot paths on windows ( fix #1056 )
...
On Windows, ensureJournalFileExists now rejects file paths
containing any problematic trailing dots, to prevent data loss.
This affects the add command and hledger-web's add form.
2019-06-26 18:19:53 +01:00
Simon Michael
2e4f047fed
;doc: journal: clarify alias docs ( #1055 )
...
[ci skip]
2019-06-23 15:56:29 -07:00
Simon Michael
d15f775695
;doc:journal: document alias application order more clearly ( #1055 )
...
[ci skip]
2019-06-21 12:12:35 -07:00
Simon Michael
33d03284c3
;valuation: more tests; document default amount style issue
...
[ci skip]
2019-06-17 08:19:23 -07:00
Simon Michael
2da50875ee
lib: setNaturalPrecisionUpTo
2019-06-14 19:04:09 -07:00
Simon Michael
5cb334514c
;lib: rename setMinimalPrecision -> setNaturalPrecision
2019-06-14 19:04:09 -07:00
Simon Michael
69defd497f
;lib: refactor: Data.Prices -> Data.Valuation
2019-06-14 19:04:09 -07:00
Simon Michael
83030a09de
;lib: Prices: refactor
2019-06-14 19:04:09 -07:00
Simon Michael
7dd0c5783a
;lib: multibalancereport: refactor
2019-06-14 19:04:09 -07:00
Simon Michael
0a3af8d9ee
csv: strip outer whitespace when interpolating CSV values ( #1051 )
...
This removes a potential snag in amount field assignments, and
hopefully is harmless and acceptable otherwise.
2019-06-14 16:43:12 -07:00
Simon Michael
d2b3185062
csv: don't show invalid inter-field spaces in CSV error messages
...
Errors involving a record like:
2000-01-01,a,"1"
displayed the record with extra spaces:
the CSV record is: "2000-01-01", "a", "1"
which was not accurate or valid RFC-4180.
2019-06-14 16:17:40 -07:00
Simon Michael
baa15d9bea
;lib: rename MultiBalanceReports.hs -> MultiBalanceReport.hs
2019-06-14 11:45:25 -07:00
Simon Michael
e664fab956
lib: try to simplify, use just one price graph ( #131 )
2019-06-13 15:50:01 -07:00
Simon Michael
dd5afbb6fe
;doc, debug output tweaks ( #131 )
2019-06-13 15:50:01 -07:00
Simon Michael
6a62bd6437
web, api: update for MarketPrice/PriceDirective change
2019-06-13 15:50:01 -07:00
Simon Michael
ce0354ddbe
lib: -X/--exchange now supports indirect price chains ( #131 )
...
Adds fgl as a dependency.
2019-06-13 15:50:01 -07:00
Simon Michael
692620180e
;lib: refactor: change AmountPrice to a Maybe
...
I've wanted to do this for a long time; now that prices are in flux,
seems a good time.
2019-06-13 15:50:01 -07:00
Simon Michael
adb6ee40eb
lib: clarify price types ( #131 )
...
dropped journalPrices
renamed Price to AmountPrice, AKA "transaction price"
renamed MarketPrice to PriceDirective.
added new MarketPrice (more pure form of PriceDirective without the amount style information)
Prices is now a more efficient data structure, but not used yet.
2019-06-13 15:50:01 -07:00
Simon Michael
e24c6292d0
lib: support -X/--exchange (direct/reverse prices only) ( #131 )
2019-06-13 15:50:01 -07:00
Simon Michael
50a52dd467
lib: --value can select commodity (via direct/reverse prices) ( #131 )
2019-06-13 15:50:01 -07:00
Simon Michael
6b6c3385c9
lib: parse optional ,COMM suffix in --value ( #131 )
2019-06-13 15:50:01 -07:00
Caleb Maclennan
18e19b9ad2
;tests: normalize tests, examples, and docs using 2spcs before comments
2019-06-13 12:12:21 -07:00
Caleb Maclennan
8f3e5f9d3b
;print: differentiate posting indent (4spc) and pre-comment space (2spc)
...
Co-authored-by: Simon Michael <simon@joyful.com>
2019-06-13 12:12:21 -07:00
Henning Thielemann
4962b2696a
lib: accountTransactionsReportItems: rewrite using catMaybes and mapAccumL
...
I find the report function less convolved without the integrated recursion.
2019-06-09 18:45:58 -07:00
Simon Michael
88f3f6fc41
print: also canonicalise balance assertions' amount style ( fix #1042 )
2019-06-09 17:39:46 -07:00
Simon Michael
7ac1bdf8c1
;csv: document spaces outside quotes issue ( #1037 )
...
[ci skip]
2019-06-07 06:34:52 -07:00
Simon Michael
90af360792
csv: fix parse error printing, broken since 1.11 ( #1038 )
2019-06-06 23:10:31 -07:00
Simon Michael
45198d3faa
lib: debug helpers: add ptraceAtWith, dbgNWith
2019-06-02 08:48:41 -07:00
Simon Michael
42ce95aaef
; refactor: centralise valuation logic #131
2019-05-31 15:29:09 -07:00
Simon Michael
ad83919c6a
; lib: drop the Maybe from SummaryPosting
2019-05-31 15:29:09 -07:00
Simon Michael
69d72e8c48
;refactor amountValue
2019-05-25 05:34:29 -07:00
Simon Michael
bba9c32607
;doc: journal: clarify commodity directive does not affect parsing
...
[ci skip]
2019-05-25 05:29:49 -07:00
Simon Michael
34a0ad00b1
;lib: encapsulate Prices db
2019-05-25 05:29:34 -07:00
Simon Michael
aa99743096
make -V do --value=end in multiperiod reports ( #329 )
2019-05-24 10:30:35 -07:00
Simon Michael
ea5050963f
web: try to fix RegisterR warning
2019-05-23 22:34:31 -07:00
Simon Michael
5e54920160
;regen embedded manuals
2019-05-23 22:26:43 -07:00
Simon Michael
20bc386b80
restore TransactionsReport
...
hledger-web's register chart uses it, I didn't see it
because it's called from a hamlet template.
2019-05-23 22:15:40 -07:00
Simon Michael
7212b92079
cleanups ( #329 )
2019-05-23 22:07:50 -07:00
Simon Michael
54c1529638
lib: drop TransactionsReport, BalanceHistoryReport
...
They seem unused.
2019-05-23 21:55:19 -07:00
Simon Michael
04a30fa084
lib: TransactionsReport/AccountTransactionsReport cleanup
...
Split them into separate files, rename journalTransactionsReport to
transactionsReport.
2019-05-23 21:55:19 -07:00
Simon Michael
9977739c76
bal etc.: replace --value=transaction with --value=cost ( #329 )
2019-05-23 21:55:18 -07:00
Simon Michael
adbce22152
bal: --budget: don't always convert to cost
...
And don't show a percentage when budgeted and actual amounts are in
different commodities.
2019-05-23 21:55:18 -07:00
Simon Michael
2355da0f93
reg: replace --value=transaction with --value=cost
2019-05-23 21:55:18 -07:00
Simon Michael
ace215f5f3
print: replace --value=transaction with --value=cost
2019-05-23 21:55:18 -07:00
Simon Michael
37c0edb1f9
lib: drop postingValueAtDate
2019-05-23 21:55:18 -07:00
Simon Michael
4a75971c6d
lib: postingTransformAmount, postingToCost, postingValue
2019-05-23 21:55:17 -07:00
Simon Michael
e5cb082fb5
lib: amountToCost, mixedAmountToCost
2019-05-23 13:11:34 -07:00
Simon Michael
f999bf78e6
opts: new -B/--cost, -V/--market, --value flags ( #329 )
2019-05-23 13:11:20 -07:00
Simon Michael
e21afc466a
bal/bs/bse: -H or --cumulative now disables -T ( #329 )
...
To reduce confusion, multiperiod balance reports using -H/--historical
or --cumulative, which show end balances, no longer show a Totals
column since summing end balances generally doesn't make sense.
Also the underlying MultiBalanceReport now returns zero for those
totals when in cumulative or historical mode.
2019-05-11 20:43:28 -07:00
Simon Michael
76342a3fd0
bal/bs/cf/is: mention valuation type in report title
2019-05-09 15:39:43 -07:00
Simon Michael
e5339218f7
lib: valueTypeFromOpts helper
2019-05-09 15:36:26 -07:00
Simon Michael
d15869f855
;doc: typo
...
[ci skip]
2019-05-09 12:22:48 -07:00
Simon Michael
d77fd5743d
bal/bs/cf/is: support --value-at with -H; fix row/col/grand totals
...
This also includes a big cleanup of multiBalanceReport, which got
accidentally mingled.
2019-05-09 07:58:45 -07:00
Simon Michael
2ffe7914be
;improve valuation code docs
2019-05-07 16:19:49 -07:00
Simon Michael
74e653bfbc
;lib: declare Period exports
2019-05-06 11:52:10 -07:00
Simon Michael
72214a5747
reg: fix --value-at=transaction with -M ( #329 )
2019-05-06 08:07:16 -07:00
Simon Michael
ad00da244b
reg: support --value-at with -H ( #329 )
2019-05-05 17:47:38 -07:00
Simon Michael
2ba0281335
bal: fix --value-at for old-style single period balance reports ( #329 )
2019-05-05 10:51:07 -07:00
Simon Michael
629b590de1
;lib: cleanup
2019-05-05 10:38:13 -07:00
Simon Michael
76542458e6
lib: mapJournalTransactions, mapJournalPostings, mapTransactionPostings
2019-05-05 10:35:49 -07:00
Simon Michael
5a13bc632d
;clarify ledgerFromJournal doc
2019-05-05 10:09:40 -07:00
Simon Michael
1ad82d5b77
;lib: balanceReport cleanup
2019-05-05 09:57:03 -07:00
Simon Michael
f4b0381043
;lib: more docs for balanceReport
2019-05-05 09:50:29 -07:00
Simon Michael
8d7eacd73f
bal: support --value-at=p/t with multiperiod reports ( #329 )
2019-05-05 09:30:01 -07:00
Simon Michael
74c381cc88
;lib: more docs for multiBalanceReport
2019-05-04 17:46:52 -07:00
Simon Michael
66b1599058
;lib: postingsReport cleanup
2019-05-04 17:09:16 -07:00
Simon Michael
cc05f48697
;lib: multiBalanceReport cleanup
2019-05-04 12:34:59 -07:00
Simon Michael
12c0bfb39b
;lib: brValue cleanup
2019-05-04 12:22:00 -07:00
Simon Michael
ec1b98434c
reg: support --value-at=period with periodic reports ( #329 )
2019-05-04 12:22:00 -07:00
Simon Michael
dd8c403c81
;cli: option help tweaks
2019-05-04 12:22:00 -07:00
Simon Michael
cca0b7aec6
;update changelogs
2019-05-04 12:21:54 -07:00
Simon Michael
ebf5ed93f2
valuation: more thorough --value-at; document status ( #329 , #999 )
...
This feature turns out to be quite involved, as valuation interacts
with the many report variations. Various bugs/specs have been
fixed/clarified relating to register's running total, balance totals
etc. Eg register's total should now be the sum of the posting amount
values, not the values of the original sums. Current level of support
has been documented.
When valuing at transaction date, we once again do early valuation of
all posting amounts, to get more correct results. variants. This means
--value-at=t can be slower than other valuation modes when there are
many transactions and many prices. This could be revisited for
optimisation when things are more settled.
2019-05-03 12:24:02 -07:00
Simon Michael
696e3098c8
reg: support --value-at in register reports; cleanups, tests
2019-04-26 12:08:46 -07:00
Simon Michael
7306e61646
bal: support --value-at in single column balance reports
2019-04-26 12:08:32 -07:00
Simon Michael
00975fb226
bal*: support --value-at in multicolumn balance reports
2019-04-26 12:08:31 -07:00
Simon Michael
65934958f9
rename --value-date -> --value-at; --value-at implies -V
2019-04-26 12:08:31 -07:00
Simon Michael
6626778012
lib: amountValue, commodityValue doc cleanups
2019-04-26 12:08:31 -07:00
Simon Michael
9adae02973
print: add --value-date general option; implement for print -V
2019-04-26 12:08:31 -07:00
Simon Michael
9d3eb8c069
bal, reg, print: -V prefers non-future valuation dates again ( #999 )
2019-04-24 08:31:21 -07:00
Simon Michael
ef9c4a29c4
lib: save the current date in ReportOpts
...
We need this for choosing a valuation date, otherwise, report
functions would have to be in IO or we'd have to pass in yet another
argument.
It's optional because it's useful to be able to create report opts
purely (I think ?) This is not ideal but maybe not a problem.
2019-04-24 08:25:55 -07:00
Simon Michael
c23fc8b671
speed up -V/--value by converting reports, not the journal ( #999 )
...
Instead of converting all journal amounts to value early on, we now
convert just the report amounts to value, before rendering.
This was basically how it originally worked (for the balance command),
but now it's built in to the four basic reports used by print,
register, balance and their variants - Entries, Postings, Balance,
MultiBalance - each of which now has its own xxValue helper.
This should mostly fix -V's performance when there are many
transactions and prices (the price lookups could still be optimised),
and allow more flexibility for report-specific value calculations.
+------------------------------------------++-----------------+-------------------+--------------------------+
| || hledger.999.pre | hledger.999.1sort | hledger.999.after-report |
+==========================================++=================+===================+==========================+
| -f examples/1000x1000x10.journal bal -V || 1.08 | 0.96 | 0.76 |
| -f examples/2000x1000x10.journal bal -V || 1.65 | 1.05 | 0.73 |
| -f examples/3000x1000x10.journal bal -V || 2.43 | 1.58 | 0.84 |
| -f examples/4000x1000x10.journal bal -V || 4.39 | 1.96 | 0.93 |
| -f examples/5000x1000x10.journal bal -V || 7.75 | 2.99 | 1.07 |
| -f examples/6000x1000x10.journal bal -V || 11.21 | 3.72 | 1.16 |
| -f examples/7000x1000x10.journal bal -V || 16.91 | 4.72 | 1.19 |
| -f examples/8000x1000x10.journal bal -V || 27.10 | 9.83 | 1.40 |
| -f examples/9000x1000x10.journal bal -V || 39.73 | 15.00 | 1.51 |
| -f examples/10000x1000x10.journal bal -V || 50.72 | 25.61 | 2.15 |
+------------------------------------------++-----------------+-------------------+--------------------------+
There's one new limitation, not yet resolved: -V once again can pick a
valuation date in the future, if no report end date is specified and
the journal has future-dated transactions. We prefer to avoid that,
but reports currently are pure and don't have access to today's date.
2019-04-23 17:39:01 -07:00
Simon Michael
9ac1d7869b
lib: journalStartDate, journalEndDate
2019-04-23 13:58:32 -07:00
Simon Michael
168edb910e
lib: try a single filter again to speed up -V; simplify a bit ( #999 )
...
There was no speedup, in fact.
2019-04-22 16:38:42 -07:00
Simon Michael
028303acd7
lib: speed up -V by sorting market prices just once ( #999 )
...
-V is still quite a bit slower than no -V, but not as much as before:
+===========================================================++=======+
| hledger.999.pre -f examples/10000x10000x10.journal bal || 5.20 |
| hledger.999.pre -f examples/10000x10000x10.journal bal -V || 57.20 |
| hledger.999 -f examples/10000x10000x10.journal bal || 5.34 |
| hledger.999 -f examples/10000x10000x10.journal bal -V || 17.50 |
+-----------------------------------------------------------++-------+
2019-04-20 13:12:53 -07:00
Jakob Schöttl
4444b8bc8f
Change unused argument to undefined to make possible bugs more obvious
2019-04-18 22:38:41 +02:00
Jakob Schöttl
593ee39284
Fix behavior of options like -Mp2019
...
This fixes the issue #1008
2019-04-18 22:38:41 +02:00
Simon Michael
13dc1096a5
reg: test and fix for --average, broken since 1.12 ( #1003 )
2019-04-06 11:00:38 -07:00
Simon Michael
71f9b74b0e
csv: doc: more tweaks ( #1000 )
...
[ci skip]
2019-04-06 10:51:18 -07:00
Simon Michael
bd08dd3858
csv: doc: more tweaks ( #1000 )
...
[ci skip]
2019-04-03 13:25:50 -07:00
Simon Michael
9f4decb4f6
csv: doc: clarify amount, balance tips ( #1000 )
...
[ci skip]
2019-04-03 13:14:59 -07:00
Simon Michael
61e8ccbf88
csv: accept a balance field assignment instead of an amount ( #1000 )
2019-04-03 10:46:26 -07:00
Simon Michael
c9e16b83ef
; propagate dev version bump
2019-03-20 17:13:59 -07:00
Simon Michael
124aaffd34
; merge latest changelogs
2019-03-20 16:18:04 -07:00
Simon Michael
3d206ad6bd
; changelogs from 1.14 branch
2019-03-20 16:18:04 -07:00
Simon Michael
fee0e39320
; lib, cli, ui, web, api: bump to dev version
2019-03-20 16:18:04 -07:00
Dmitry Astapov
5067d0f984
doc: document balance1 and balance2 in csv parser
2019-03-15 16:18:43 -07:00
Dmitry Astapov
3c3200fa66
lib: csv parser support for 'balance2', 'balance' renamed to 'balance1'
2019-03-15 16:18:43 -07:00
Hans-Peter Deifel
489b7fd870
Constrain easytest dependency to fix cabal build
...
This constraints the easytest dependency to <0.3, because hledger and
hledger-lib currently don't build with 0.3.
Of course the better solution would be to fix the build errors, but easytest-0.3
is not even in stackage nightly yet and I just need it to build right now :-)
2019-03-15 12:33:16 -07:00
Simon Michael
1ae36fe02c
;doc: journal: promote "auto postings" term; clarify scope
...
[ci skip]
2019-03-08 19:59:45 -08:00
Simon Michael
c5df73910f
csv: update some parse errors which weren't in human format
...
cf
https://www.reddit.com/r/plaintextaccounting/comments/axekse/hledger_how_to_create_curved_brackets_with_rule/
2019-03-05 06:23:11 -08:00
Simon Michael
172dbc7a90
doc: changelogs
...
[ci skip]
2019-03-01 17:46:37 -08:00
Simon Michael
0cd5545e26
regen cabal files/manuals
...
[ci skip]
2019-03-01 16:17:25 -08:00
Simon Michael
68e5c41d52
bump version, manual dates
...
[ci skip]
2019-03-01 16:11:15 -08:00
Simon Michael
9fab3257e8
regen cabal files
2019-03-01 15:44:40 -08:00
Simon Michael
9bb6f75bc8
update tested-with, add ghc 8.6
...
[ci skip]
2019-03-01 15:10:42 -08:00
Simon Michael
16157bc711
lib, web: tweaks to keep building with GHC 7
2019-03-01 15:07:17 -08:00
Simon Michael
420eef4a40
lib: fix some transaction balancing cases
...
I needed to be more careful about ordering, as johannesgerer's original
code was, and the tests missed it. I think I have it now.
Found the PR whose code I have been reworking, it was #438 .
2019-02-21 16:50:32 -08:00
Simon Michael
ca565795ad
lib: transaction, [v]post*, balassert* constructors, for tests etc.
2019-02-21 16:20:04 -08:00
Simon Michael
0bc16d4af6
lib, cli, web: rename porigin -> poriginal
2019-02-20 20:23:54 -08:00
Simon Michael
8620e5414f
regen manuals
...
[ci skip]
2019-02-20 17:37:25 -08:00
Simon Michael
ba850f3871
lib: more transaction balancing/assertions/assignments cleanup
2019-02-20 09:14:30 -08:00
Simon Michael
8789a442a8
lib: inclusive balance assertions (=* and ==*)
2019-02-20 09:14:30 -08:00
Simon Michael
3b47b58aec
lib: clarify transaction balancing & balance assertion checking
2019-02-20 09:14:30 -08:00
Simon Michael
b34b262c76
lib: document mapM'
...
[ci skip]
2019-02-17 08:36:59 -08:00
Simon Michael
bc7a1476ed
refactor: lib: hlint cleanups
2019-02-14 05:15:49 -08:00
Simon Michael
03877057fb
refactor: cli: commands: hlint clean
2019-02-14 05:15:49 -08:00
Simon Michael
226add41d3
lib: slight cleanup (spelling, hlint)
...
[ci skip]
2019-02-14 05:15:49 -08:00
Simon Michael
17c4a47a85
regen cli help, manuals
...
[ci skip]
2019-02-14 05:15:49 -08:00
Simon Michael
9e3cdef1e9
lib: balance assertion docs ( #290 )
...
[ci skip]
2019-02-13 15:52:07 -08:00
Simon Michael
eed4a996f8
doc: journal: link cookbook, fix typo
...
[ci skip]
2019-02-12 10:00:25 -08:00
Simon Michael
6ff5d744b7
doc: journal: move details of editor support to cookbook
...
[ci skip]
2019-02-12 09:50:56 -08:00
Simon Michael
21fac53954
doc: regen manuals
...
[ci skip]
2019-02-11 14:15:44 -08:00
Jakob Schöttl
161ca660dc
Support register --invert option to negate amounts
2019-02-09 15:55:41 -08:00
Simon Michael
94753f1cea
bump to dev version
2019-02-08 11:33:44 -08:00
Simon Michael
a18e4e9773
hpack: drop quotes from version: field, apparently not required
...
[ci skip]
2019-02-05 06:35:40 -08:00
Simon Michael
18ffa65168
tools: move setversion to shake, use PKG/.version, set upper bounds
...
./Shake setversion will now propagate the version number in each
package's .version file, to all the places in that package where it's
needed (ie the defs.m4 file and multiple places in the package.yaml
file. Also it now updates upper bounds on other hledger packages
to the next major version. (The new lower/upper bounds may not always
be what's desired, manual review required.)
[ci skip]
2019-02-04 18:47:27 -08:00
Simon Michael
bde46f7bd0
doc: move version, release date entirely into per-package macros
...
[ci skip]
2019-02-04 15:28:23 -08:00
Simon Michael
bf6acf52ef
doc: allow per-package m4 defs, to override things like version
...
[ci skip]
2019-02-04 15:18:51 -08:00