Stephen Morgan
c9eb7d1bcf
lib,cli,ui: Separate costing from valuation; each can now be specified
...
independently.
You can now combine costing and valuation, for example "--cost
--value=then" will first convert to costs, and then value according to
the "--value=then" strategy. Any valuation strategy can be used with or
without costing.
If multiple valuation and costing strategies are specified on the
command line, then if any of them include costing
(-B/--cost/--value=cost) then amounts will be converted to cost, and for
valuation strategy the rightmost will be used.
--value=cost is deprecated, but still supported and is equivalent to
--cost/-B. --value=cost,COMM is no longer supported, but this behaviour can be
achieved with "--cost --value=then,COMM".
2021-01-28 13:57:48 -08:00
Stephen Morgan
130739e3ef
lib,cli,ui: Introduce *ApplyCostValuation functions, which perform both
...
costing and valuation.
This currently is given a dummy NoCost argument and is equivalent to
"maybe id (*ApplyValuation ...)", but provides a constant interface so
that internal behaviour can be changed freely.
2021-01-28 13:57:48 -08:00
Stephen Morgan
83110e8820
lib,cli: Extend AtThen valuation to all report types.
...
Also adds a postingDate argument to amountApplyValuation, and re-orders
the ValuationType and (Transaction/Posting) arguments to
(transaction/posting)ApplyValuation, to be consistent with
amountApplyValuation.
2021-01-05 14:42:09 -08:00
Stephen Morgan
74b296f865
lib,cli: Make showTransaction return Text rather than String.
2021-01-02 15:08:09 +11:00
Stephen Morgan
7e44b89bb4
lib: Remove unused label on TranspactionReport and AccountTransactionsReport.
2021-01-02 15:08:09 +11:00
Stephen Morgan
46093b8de7
lib,ui: For hledger-ui, do valuation for all valuation types, not just
...
AtCost and AtDefault.
Remove unused valuationTypeIs* functions.
2020-12-19 11:59:44 -08:00
Stephen Morgan
cdec0f9382
lib: Remove special handling of now-inaccessible AtDefault valuation constructor.
...
This simplifies all the *ApplyValuation functions, as they no longer
need mreportdate or multiperiod arguments.
2020-12-19 11:59:44 -08:00
Stephen Morgan
83a518af99
lib,cli,ui: In ReportOpts, store query terms term-by-term in a list in
...
querystring_.
This helps deal with tricky quoting issues, as we no longer have to make
sure everything is quoted properly before merging it into a string.
2020-11-04 08:47:30 -08:00
Stephen Morgan
260283e2f1
lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of
...
the report, and the parsed Query.
2020-10-23 14:14:11 -07:00
Stephen Morgan
ff0c5bc743
lib,ui: Store the original query string in ReportOpts, provide a function for regenerating ReportOpts.
2020-10-23 14:14:11 -07:00
Stephen Morgan
1171c23eee
lib,cli,ui: Ensure ReportOpts always has today_ set.
2020-10-23 14:14:11 -07:00
Stephen Morgan
fcbe511d42
ui,web: Adopt new ReportOptions interface, store literal query string in UIOpts.
2020-10-23 14:14:11 -07:00
Simon Michael
3f55c23603
;review, tag all error calls with an easier to find PARTIAL: comment ( #1312 )
2020-08-05 16:08:33 -07:00
Simon Michael
bac3028704
ui: q exits help; improve help layout ( #1286 )
2020-07-18 08:59:21 -07:00
Simon Michael
3ade9750d3
;valuation: fix hledger-ui ( #1239 , #1253 )
2020-06-19 15:10:12 -07:00
Simon Michael
47567cd770
;fix some warnings with GHC 8.10 alpha
...
hledger is GHC 8.10 ready!
2019-12-14 17:30:19 -08:00
Simon Michael
332624f9fa
ui: B and V keys toggle display of cost, value
2019-11-21 17:33:04 -08:00
Mykola Orliuk
ab9c150759
;lib: clean out showTransactionUnelided
...
Keep aliases until next major release.
2019-11-16 12:53:07 +01:00
Caleb Maclennan
11d9e5eb6a
code: Strip extraneous trailing whitespace from Haskell sources
2019-07-15 16:40:49 +01:00
Simon Michael
ad424e0381
ui: C-z suspend now restores the terminal cleanly
2019-01-23 17:26:27 -08:00
Simon Michael
cc0764eac2
ui: on posix, support ctrl-z to suspend the program
2019-01-18 16:33:06 -08:00
Simon Michael
c02647d05e
ui: support ctrl-l everywhere
2019-01-18 16:32:57 -08:00
Simon Michael
389eaa4c5d
ui: whitespace
2019-01-15 06:18:35 -08:00
Simon Michael
42a4a4a7e4
ui: use "border" instead of borderAttr everywhere
...
Assume it won't change, it's clearer and more consistent.
2018-10-23 06:43:21 -07:00
Simon Michael
16faa7dd9c
ui: capitalise cursor keys in quick help, like help dialog
2018-10-23 05:43:57 -07:00
Simon Michael
84579bb1b4
silence redundant import warnings with ghc 8.4
2018-03-24 22:51:56 +00:00
Simon Michael
e3c4a76119
add & use simpler readJournalFilesWithOpts/InputOpts api
2017-09-14 17:43:32 -07:00
Simon Michael
dc191ec76e
cli: refactor: new Commands module
...
Builtin commands are now gathered more tightly in a single module,
Hledger.Cli.Commands, reducing duplication and facilitating change.
The tests command was difficult and has been dropped for now.
The obsolete convert/info/man commands have been dropped.
cli: refactor: a proper commands list, better Main/Commands separation
The legacy "convert" command has been dropped.
The activity command's module is now named consistently.
2017-09-11 16:50:08 -07:00
Simon Michael
97964eb2fc
ui: consistently support vi & emacs movement keys
...
hjkl and CTRL-bfnp should now work wherever unmodified arrow keys work.
(You must still use arrow keys with SHIFT for adjusting report period).
2017-06-30 16:37:10 +01:00
Simon Michael
59af88b796
ui: add temporary --status-toggles for testing toggle styles ( #564 )
2017-06-18 16:20:30 -07:00
Simon Michael
dcc58d4a2b
lib: rename ClearedStatus type to Status
...
(and fix hard-coded enum count)
2017-06-15 19:16:39 -07:00
Simon Michael
7dd34d71b5
ui: transaction: fix pattern match failure when pressing E ( fixes #508 )
2017-02-05 12:00:45 -08:00
Simon Michael
3c4cb4eeeb
ui: --watch: track date only when a standard period is in effect
2016-12-07 15:19:36 -08:00
Simon Michael
9952f93e97
ui: --watch date tracking fixes
...
- move the period only if it's "current" (contains the old "today" date)
- make it work on all screens, not just accounts
2016-12-02 15:36:23 -08:00
Simon Michael
e3a7f6697e
ui: --watch also tracks the current date, when appropriate
...
ie, when viewing a "current" period (the current day/week/month/quarter/year),
it will be moved to enclose the current date, if needed, whenever the system date changes.
2016-12-01 19:26:38 -08:00
Simon Michael
6dd406779b
ui: always reload when g is pressed
...
Previously it would check the modification time and reload only if
it looked newer than the last reload. But this could get confused
somehow by fsnotify events, such that there were unloaded changes
on disk yet pressing g did nothing.
2016-11-24 20:23:14 -08:00
Simon Michael
b09b3a7be6
ui: with --watch, react to file changes in real time
...
Experimental, tested on OSX so far.
Rapid successive file changes can cause it to get stuck.
2016-11-24 11:14:34 -08:00
Simon Michael
0f1108db07
ui: use a custom application event type
2016-11-24 09:10:50 -08:00
Simon Michael
c6e2784eeb
ui: use brick 0.12, bump version to 1.0.3
2016-10-31 08:06:29 -07:00
Simon Michael
0cb5703ad1
ui: refactor draw functions
2016-08-02 08:24:04 -07:00
Simon Michael
fe6d4cc7da
lib: abstract period/interval/cleared in ReportOpts
2016-07-29 19:20:56 -07:00
Simon Michael
9b0cadc179
ui: support/require brick 0.7+ #379
2016-07-24 18:06:49 -07:00
Simon Michael
7eeb5e01ee
ui: I toggles balance assertions
...
This was a bit tricky.
2016-07-06 15:08:57 -07:00
Simon Michael
19fc5b61f7
ui: indicate when balance assertions are ignored
...
The indication takes up lots of space, may need refinement.
It's currently not shown on the error screen.
2016-07-06 15:07:27 -07:00
Moritz Kiefer
991204d59a
Support vty 0.7 ( #365 )
2016-07-05 13:23:00 -07:00
Simon Michael
dbeb4e3020
ui: add vi-style movement keys, use ? for help ( #357 )
2016-06-24 18:54:54 -07:00
Simon Michael
76519be8f9
ui: advertise E key on transaction, error screens
2016-06-20 11:08:23 -07:00
Simon Michael
1d419eb7e6
ui: editor: jump to current txn or error location (emacs, emacsclient, vi)
2016-06-19 16:15:17 -07:00
Simon Michael
c79750bafd
ui: editor: cleanup, vi support, positioning support
2016-06-19 14:09:49 -07:00
Simon Michael
4923efefb9
ui: basic editor integration
...
The E key (on all screens) edits the main journal file using
$HLEDGER_UI_EDITOR or $EDITOR or "emacs -nw",
jumping to the end if it's Emacs.
2016-06-19 09:00:04 -07:00