Commit Graph

1876 Commits

Author SHA1 Message Date
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