Commit Graph

1361 Commits

Author SHA1 Message Date
Simon Michael
040f2ba1bf doc: cli: consistent examples styling
[ci skip]
2019-05-03 11:29:43 -07:00
Simon Michael
4fd09bedfc doc: options: value-at: help fix
[ci skip]
2019-04-26 12:22:21 -07:00
Simon Michael
696e3098c8 reg: support --value-at in register reports; cleanups, tests 2019-04-26 12:08:46 -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
9adae02973 print: add --value-date general option; implement for print -V 2019-04-26 12:08:31 -07:00
Simon Michael
a08140b073 doc: options: argument files: link to main site, not github 2019-04-26 12:08:31 -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
1cacfcea28 lib: fix journalApplyValue test (#999) 2019-04-23 07:20:10 -07:00
Simon Michael
08d226aaf5 lib: add a test for journalApplyValue that times itself (#999)
This test prints the time elapsed (before the OK message).
Mainly to support current performance tuning
(make ghcid-test-Hledger.Cli.Utils.journalApplyValue),
but also for future reference.
2019-04-22 16:40:58 -07:00
Simon Michael
76b933641d rejigger Hledger.Cli tests to have correct prefix, add Cli.Utils 2019-04-22 12:47:28 -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
Simon Michael
6f4009d589 import: doc tweaks
[ci skip]
2019-04-19 15:44:06 -07:00
Simon Michael
ca79981f8d doc: regen command help
[ci skip]
2019-04-19 11:19:24 -07:00
Simon Michael
eb576ba5be import: document a problem with balance assignments
[ci skip]
2019-04-19 11:18:33 -07:00
Simon Michael
ab93eb4258 close: doc: fix typo
[ci skip]
2019-03-26 16:40:03 -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
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
64df6e731c ;doc: cli: BUGS -> LIMITATIONS; mention windows display issue (#961)
[ci skip]
2019-03-12 03:22:20 -07:00
Simon Michael
afaff4c306 ;doc: cli: update unicode section, add windows display issue (#961) 2019-03-11 12:42:02 -07:00
Simon Michael
6c841a266d diff: help tweaks (cf #981) 2019-03-09 09:45:30 -08:00
Simon Michael
f648d6d78e ; regen manual. And, start using ; prefix for non-changelog changes
(as Emacs does).

[ci skip]
2019-03-04 12:01:41 -08:00
Simon Michael
e57bf4a9f2 diff: make it show in commands list; export it (#981) 2019-03-04 12:01:34 -08:00
Gabriel Ebner
ceb193f85e cli: add diff command
This merges the external hledger-diff addon, which is now deprecated.
https://github.com/gebner/hledger-diff/
2019-03-04 11:39:11 -08:00
Simon Michael
89255dbf76 cli: changelog
[ci skip]
2019-03-01 18:39:55 -08:00
Simon Michael
928ddfeb13 bump hledger version to 1.14.1, and other pkgs' lower bounds 2019-03-01 18:39:25 -08:00
Simon Michael
8c4f63d060 cli: fix missing Commodities.txt build error 2019-03-01 18:35:16 -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
Jakub Zárybnický
6becbc78f3 cli, web, ui: Replace withJournalDo* variants 2019-03-01 05:42:30 -08:00
Simon Michael
a3ae68020f regen manuals
[ci skip]
2019-02-26 10:13:50 -08:00
Simon Michael
3dbd1378de bal: doc: clarify budget report differences; drop sorting limitation
[ci skip]
2019-02-24 21:09:59 -08:00
Simon Michael
0bc16d4af6 lib, cli, web: rename porigin -> poriginal 2019-02-20 20:23:54 -08:00
Jakob Schöttl
49f286dc70 Fix CLI help text 2019-02-17 06:55:01 -08:00
Simon Michael
03877057fb refactor: cli: commands: hlint clean 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
d7a815fc08 commodities: add commodities command 2019-02-14 05:15:48 -08:00
Simon Michael
21fac53954 doc: regen manuals
[ci skip]
2019-02-11 14:15:44 -08:00
Jakob Schöttl
ba1abae7c9 Add doc on --invert 2019-02-09 15:55:41 -08:00
Jakob Schöttl
161ca660dc Support register --invert option to negate amounts 2019-02-09 15:55:41 -08:00
Jakob Schöttl
98d7c073c7 Reduce simple lambda 2019-02-09 12:47:24 -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
Simon Michael
6dab730900 cli: bump version to 1.13.2
[ci skip]
2019-02-04 08:36:36 -08:00
Simon Michael
6de8e7d516 changelog
[ci skip]
2019-02-04 08:33:43 -08:00
Simon Michael
e89c3752c4 stats: tweak -o help, output format is not supported here
[ci skip]
2019-02-03 13:05:48 -08:00
Simon Michael
c959e555ad print, reg: restore -o, -O flags dropped during refactor (#967) 2019-02-03 13:04:59 -08:00
Simon Michael
78a66594ed lib, cli: changelogs 2019-02-02 20:23:30 -08:00
Simon Michael
6553353bc5 lib, cli: bump version to 1.13.1 2019-02-02 20:21:35 -08:00
Simon Michael
86d5652e53 stop depending on here due to slow haskell-src-meta/stackage issues
Using file-embed or ordinary literals instead, for now.
2019-02-02 16:34:10 -08:00
Simon Michael
f9b85a1d4c update embedded docs 2019-02-01 17:23:12 -08:00
Simon Michael
40d1572359 bump version to 1.13 2019-02-01 17:19:19 -08:00
Simon Michael
ca0d0b0d81 doc: changelogs 2019-02-01 17:13:16 -08:00
Simon Michael
33d82fb657 fix: --forecast shouldn't force --auto on (#953, #959) 2019-02-01 11:43:24 -08:00
Simon Michael
d6e075dacd refactor journalModifyTransactions, modifyTransactions
API changes:

Hledger.Data.TransactionModifier
-transactionModifierToFunction
+modifyTransactions

Hledger.Read.Common.applyTransactionModifiers -> Hledger.Data.Journal.journalModifyTransactions
2019-02-01 11:31:04 -08:00
Simon Michael
4a9fa5cd38 internals: append rather than prepend forecasted txns 2019-02-01 11:29:22 -08:00
Simon Michael
9955f53b9b doc: changelogs cleanup
[ci skip]
2019-01-31 15:43:08 -08:00
Simon Michael
5435150d39 doc: don't use sed; fix accidental dedenting of some lists (#961)
The sed code was showing an error message, not too precise.
Pandoc's lua filters to the rescue!

[ci skip]
2019-01-31 08:34:49 -08:00
Simon Michael
3474cb08bd cli: commands list: mention budgets
[ci skip]
2019-01-31 08:33:40 -08:00
Simon Michael
59739d1cd3 doc: command docs readme -> .md
[ci skip]
2019-01-30 17:59:42 -08:00
Simon Michael
5eb887781b doc: regen hledger manual
[ci skip]
2019-01-30 17:58:51 -08:00
Simon Michael
845fdf8302 doc: update command docs readme 2019-01-30 17:58:23 -08:00
Simon Michael
c8246e7323 cli: command help: reduce width, line wrapping
cmdargs wraps any lines longer than 78 characters.  To (mostly) avoid
this, we now display verbatim blocks unindented, and some of
register's examples have been altered to make them fit.
2019-01-30 17:58:13 -08:00
Simon Michael
36246e4976 cli: commands list: reorder help lines
[ci skip]
2019-01-30 12:54:22 -08:00
Simon Michael
4c5ac4dd06 cli: fix command help, really render as plain text
pandoc thinks .txt is a markdown file apparently
2019-01-30 12:44:10 -08:00
Simon Michael
fa82cbcf6e doc: regen hledger manual
[ci skip]
2019-01-30 10:41:39 -08:00
Simon Michael
3baad5d729 cli: render command help as plain text, hiding markup
This means committing a bunch more generated files, but it's probably
worthwhile, so we can have both rich hyperlinked/styled command docs
and clean readable command help.
2019-01-30 10:41:39 -08:00
Simon Michael
88ef2abfff refactor: Commands 2019-01-30 09:09:52 -08:00
Simon Michael
8d6b5cc4f3 cli: commands list: fix addons being shown twice 2019-01-30 09:09:52 -08:00
Simon Michael
2442b4f46f refactor: hledgerCommandMode 2019-01-30 09:09:52 -08:00
Simon Michael
a23f391d7e cli: commands list: reorganise
[ci skip]
2019-01-28 12:48:15 -08:00
Simon Michael
9fe3212940 changelogs
[ci skip]
2019-01-28 10:45:25 -08:00
Simon Michael
469b715352 cli: commands list: update command descriptions 2019-01-28 10:23:39 -08:00
Simon Michael
a9eb84a451 cli: commands list: show addons prefixed with + 2019-01-28 10:07:18 -08:00
Simon Michael
b92aa4b89e refactor: Commands 2019-01-28 09:33:21 -08:00
Simon Michael
4ee39e039b doc: integrate CLI help & manual for remaining commands
& rename HelpTemplate -> CommandDoc
2019-01-28 05:43:49 -08:00
Simon Michael
6566ef5fa2 add: fix breakage when creating file, ignore backslash in names line 2019-01-26 20:57:44 -08:00
Simon Michael
157ec857d4 refactor hledgerCommandMode 2019-01-26 20:57:00 -08:00
Simon Michael
6947f29f17 bal: integrate CLI help & manual 2019-01-26 17:22:48 -08:00
Simon Michael
64d78f1644 add: integrate CLI help & manual 2019-01-26 17:13:44 -08:00
Simon Michael
53620d0df2 act: integrate CLI help & manual 2019-01-26 17:07:30 -08:00
Simon Michael
f68309b106 acc: integrate CLI help & manual 2019-01-26 17:01:55 -08:00
Simon Michael
d1411fbd8d embedded files comment
[ci skip]
2019-01-26 16:39:36 -08:00
Simon Michael
817497f30b doc: force a line break after command names in new command docs
[ci skip]
2019-01-26 16:33:51 -08:00
Simon Michael
2df8a6c4de doc: regen manuals 2019-01-26 15:56:43 -08:00
Simon Michael
550aa408eb lib: refactor, add embedFileRelative 2019-01-26 15:52:58 -08:00
Simon Michael
4f8153cf82 hereFileRelativeToPackage -> hereFileRelative 2019-01-26 15:34:17 -08:00
Simon Michael
17cd5b2254 doc: update changelogs
[ci skip]
2019-01-26 11:35:08 -08:00
Simon Michael
0a31ef848f doc: update changelogs
[ci skip]
2019-01-26 11:31:39 -08:00
Simon Michael
1e5e30ae87 regen cabal files
[ci skip]
2019-01-25 18:33:39 -08:00
Simon Michael
d517aef702 doc: changelogs: drop unnecessary backslashes before #*_<>$
sed commands:
 s/\\#/#/g;
 s/\\\*/*/g;
 s/\\_/_/g;
 s/\\</</g;
 s/\\>/>/g;
 s/\\\$/$/g;

[ci skip]
2019-01-25 18:30:09 -08:00