Simon Michael
b13df845c0
ui: register: fix queries, broken in 1.21 ( #1523 )
2021-04-12 12:05:35 -10:00
Stephen Morgan
4609e79f2c
lib,cli,ui,web: A number of AccountName and Journal functions which are
...
supposed to produce unique sorted use Sets internally to be slightly
more efficient. There is also a new function journalCommodities.
2021-03-23 11:26:30 -07:00
Stephen Morgan
d6a4310d8f
lib,cli,ui,bin: Eliminate all uses of Mixed outside of Hledger.Data.Amount.
...
Exceptions are for dealing with the pamount field, which is really just
dealing with an unnormalised list of amounts.
This creates an API for dealing with MixedAmount, so we never have to
access the internals outside of Hledger.Data.Amount.
Also remove a comment, since it looks like #1207 has been resolved.
2021-03-18 09:47:59 +11:00
Simon Michael
ffb985f1a2
ui, web: make --man and --info work, similar to hledger
...
(cf #1410 )
2021-03-03 05:57:31 -08:00
Simon Michael
d865ec5d65
lib: refactor: more consistent amount precision helpers
...
Hledger.Data.Amount:
renamed:
setAmountPrecision -> amountSetPrecision
setFullPrecision -> amountSetFullPrecision
setMixedAmountPrecision -> mixedAmountSetPrecision
added:
mixedAmountSetFullPrecision
2021-02-05 16:09:49 -08:00
Simon Michael
2a4170dd3b
ui: transaction: show all decimal places (like print, cf #931 )
...
On the accounts screen and register screen we round amounts according
to commodity styles, but when you drill down to a transaction you
probably want to see the unrounded amounts.
2021-02-04 08:13:55 -08:00
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
Simon Michael
507648383d
ui: register: show all txns in/under an account at depth limit ( #1468 )
...
As in 1.19. This was broken since 2020-09-02 c45663d41 .
2021-01-24 09:54:18 -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
7d3cf1747a
lib: Make consistent naming scheme for showMixedAmount* functions,
...
add conversion between old API and new API in the documentation.
2021-01-02 15:08:09 +11:00
Stephen Morgan
e4e533eb9f
lib,cli,ui: Replace some uses of String with Text, get rid of some unpacks, clean up showMixed options.
2021-01-02 15:08:09 +11:00
Stephen Morgan
13c111da73
lib,cli,ui: Use WideBuilder for Tabular.AsciiWide.
...
Move WideBuilder to Text.WideString.
2021-01-02 15:08:09 +11:00
Stephen Morgan
b9c00dce61
lib,cli,ui: Implement all showMixed* functions in terms of DisplayAmountOpts and WideBuilder.
2021-01-02 15:08:09 +11:00
Stephen Morgan
e3ec01c3c6
lib,cli,ui: Use Text for showDate and related.
2021-01-02 15:08:09 +11: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
5752f1c5cb
lib,cli: Use Text Builder for Account Transaction Reports.
2021-01-02 15:08:09 +11:00
Simon Michael
06675bfec4
;cli, ui: fixes for yesterday's 4330427f
2020-12-27 12:20:50 -08:00
Stephen Morgan
e406cebcce
lib: Remove unused AtDefault constructor for ValuationType.
2020-12-19 11:59:44 -08: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
Simon Michael
8d1e3e638b
;ui: refactor, drop old option support
2020-12-12 12:13:52 -08:00
Simon Michael
349ffd7c0b
updateReportSpecFromOpts -> updateReportSpec[With]
2020-12-12 12:05:44 -08:00
Simon Michael
15dc638a07
ui: preserve forecast txns (& period) when reloading journal ( #1204 )
2020-12-12 11:53:24 -08:00
Simon Michael
6158d16443
;ui: refactor, simplify query
2020-12-12 11:52:15 -08:00
Simon Michael
481c40ca2f
;ui: refactor toggleForecast
2020-12-12 11:51:25 -08:00
Simon Michael
b6cb95b534
ui: make F key keep working, fixing breakage in 1.20 ( #1411 )
...
This seems to be fallout from #1340 's
2020-09-16 d0d39e615 lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of the report, and the parsed Query.
2020-12-11 09:38:15 -08:00
Simon Michael
9730b69a05
;ui: register: fix one-line amount formatting ( #1358 )
2020-11-18 17:20:05 -08:00
Simon Michael
cc2654b17b
;ui: notes ( #1387 )
2020-11-15 11:32:43 -08:00
Simon Michael
4aecb9182e
;ui: notes ( #1387 )
2020-11-15 11:20:40 -08:00
Simon Michael
9337a66fb5
ui: quick fix for date: and --change breakage ( #1387 )
2020-11-15 10:30:58 -08:00
Stephen Morgan
74ce7be556
lib,ui: Make sure ReportSpec is updated when updating ReportOpts.
2020-11-09 16:30:15 -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
0bebda7313
lib,cli,ui: Elide amounts to a width of 32 characters, rather than 22 characters.
2020-11-04 14:25:20 +11:00
Stephen Morgan
9de238757b
lib,cli,ui: Introduce showMixed*Unnormalised, eliminate most direct calls of strWidth.
...
This introduces some new helper functions which are exactly the same
as what we had before, but do not call
normaliseMixedAmountSquashPricesForDisplay, so that we can use the new
functions for displaying Transaction and Posting. It also goes through
and gets rid of most uses of the old showMixed* functions which would
benefit from using the new interface.
2020-11-04 14:25:20 +11:00
Stephen Morgan
162a936360
lib: BudgetReport uses new renderTable inteface, now has more compact output.
...
This changes showMixedAmountElided so that the width to elide to is
given as an argument, rather than fixed at 22 characters. This
actually uses the new renderTable interface. Mostly this is just an
internal change, but since we have more information about the widths
of things, we can actually get rid of some superfluous spaces in the
budget report output, previously there to make sure it stayed aligned
with the largest reasonable contents.
2020-11-04 14:25:20 +11:00
Stephen Morgan
57d7b223a2
lib: Write new showMixedAmount* functions which keep track of length.
...
Previously showMixedAmountElided would show two amounts and then the
elision string if necessary. Now it will display as many Amounts as it
can subject to the condition that the amounts plus the elision string
fit within 22 characters.
2020-11-04 14:25:20 +11: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
f2b9ac2af1
;ui: cleanup ( #1359 )
2020-09-29 17:02:09 -07:00
Simon Michael
9dad59b0cc
ui: E ignores file extension, should help positioning on windows
2020-09-29 16:57:14 -07:00
Simon Michael
1cd2995c77
ui: E supports positioning when EDITOR is code (VS Code) ( #1359 )
2020-09-29 16:54:28 -07:00
Simon Michael
66acb2c317
;ui: refactor editFileAtPositionCommand ( #1359 )
2020-09-29 16:53:28 -07:00
Stephen Morgan
07dd30c1e5
lib,cli,ui: Change to consistent naming scheme for Hledger.Utils.Regex.
2020-09-01 11:36:34 +10:00
Stephen Morgan
af31d6e140
lib,cli,ui: Remove redundant Typeable and Data instances.
...
Also add some explicit import lists.
2020-08-31 15:41:30 +10:00
Stephen Morgan
e5371d5a6a
lib,cli,ui,web: Make Regexp a wrapper for Regex.
2020-08-31 12:04:45 +10:00
Stephen Morgan
ba59fed6b2
lib: Replace more instances of fromIntegral with safer versions.
2020-08-30 22:20:58 +10:00
Stephen Morgan
f5a7c84065
ui: Bump version of vty, present in all supported stackage, to get rid of CPP.
2020-08-29 15:08:28 -07:00
Stephen Morgan
2fd678e415
lib,cli,ui: Remove old CPP directives made redundant by version bounds.
2020-08-29 15:08:28 -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
5b5eab1afe
ui: update for new parseQuery ( #1312 )
2020-08-05 14:18:50 -07:00
Simon Michael
53759dccc1
ui: help tweaks
2020-07-19 06:12:29 -07:00
Simon Michael
58695f9c29
ui: help tweaks
2020-07-18 12:30:37 -07:00
Simon Michael
7868da2a48
ui: ESC now restores exactly to initial app state ( #1286 )
...
Also resetFilter (DEL/BS key) no longer changes tree/list mode.
2020-07-18 12:24:37 -07:00
Simon Michael
bac3028704
ui: q exits help; improve help layout ( #1286 )
2020-07-18 08:59:21 -07:00
Simon Michael
ae830a1ace
ui: restore vi keys by popular demand; t toggles tree mode ( #1286 )
2020-07-18 08:39:23 -07:00
Simon Michael
ef8a5140b3
;ui: escape key, forgot this
2020-07-17 15:51:58 -07:00
Simon Michael
bc62fcada4
ui: escape key also clears report period limits
2020-07-17 15:48:15 -07:00
Simon Michael
847fc23236
ui: use t/l keys for tree/list, T for "today", drop vi keys?! retune help ( #1286 )
2020-07-17 15:42:05 -07:00
Simon Michael
a3ae4d88f8
ui: use -t/-l short flags for --tree/--flat, like cli ( #1286 )
2020-07-17 15:36:07 -07:00
Stephen Morgan
51ea6d9f25
lib: Make queryDepth return Maybe Int.
2020-07-16 10:05:53 -07:00
Stephen Morgan
1425301a8c
lib, cli: Use --flat as the default mode for all reports.
2020-07-07 15:49:08 -07:00
Simon Michael
3b6a8b0956
ui: register: elide multicommodity amounts
2020-07-05 06:59:16 -07:00
Simon Michael
44c3eb1904
add a color argument to most amount show helpers, drop cshow variants
...
This is an API change, but it seems better than having additional
colour-supporting variants and trying to avoid duplicated code.
I stopped short of changing showAmount, so cshowAmount still exists.
2020-07-05 06:59:16 -07:00
Stephen Morgan
c811ea4c7b
lib, cli, ui, web: intopt and friends now make sure their arguments fit
...
inside bounds.
2020-07-03 12:35:51 -07:00
Simon Michael
3ade9750d3
;valuation: fix hledger-ui ( #1239 , #1253 )
2020-06-19 15:10:12 -07:00
Dmitry Astapov
460508807f
ui: fix regression in 'F' ( fixes #1255 )
2020-06-13 14:17:20 -07:00
Dmitry Astapov
b7413edf22
lib: --forecast=PERIODICEXPR. Fixes #835 , #1236
2020-06-03 15:53:00 -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
c1488db4f1
ui: fix a regression, empty register of depth-limited account ( fix #1208 )
2020-03-08 12:27:05 -07:00
Simon Michael
dac3920221
;ui: drop redundant exitSuccess
2020-02-22 11:06:58 -08:00
Simon Michael
3bee9a96c9
ui: simpler forecast toggle: just visibility, no reload ( #1193 )
2020-02-22 11:06:58 -08:00
Simon Michael
4eba930a5c
ui: don't force --auto/--forecast on; merge --future with --forecast ( #1193 )
...
Periodic transactions were always on, which meant that periodic
transactions occurring today were always shown, in future or present
mode.
Now, both periodic transactions and display of future transactions are
controlled by --forecast, and toggleable by the F key ("forecast
mode"). The --future flag has been dropped (it still works as a hidden
alias for --forecast, but is deprecated).
It seemed to also make sense to leave auto postings off by default,
like hledger.
2020-02-22 11:06:58 -08:00
Stephen Morgan
74778efcf5
Use nubSort instead of nub . sort.
2020-01-04 08:31:10 -08:00
Simon Michael
43159f4fea
;ui: E key: comment
...
[ci skip]
2019-12-15 11:07:26 -08:00
Simon Michael
44da1e1cb7
;ui: E key: simplify; drop buggy emacs end-of-file positioning
2019-12-15 11:03:05 -08:00
Simon Michael
67635106d2
fix help
2019-12-14 18:06:24 -08:00
Simon Michael
4cd2c35ad4
;ui: E key: support positioning with nano editor
2019-12-14 17:57:24 -08:00
Simon Michael
1bf271a8c4
;ui: clarify editorOpenPositionCommand
2019-12-14 17:54:29 -08:00
Simon Michael
a09513c3fb
;ui: refactor: consolidate EditorType definition and related code
2019-12-14 17:43:52 -08: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
5dac8af2ef
;ui: fix build error due to tests rewrite
2019-11-27 21:54:31 -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
5287fe671b
;all: hide RawOpts internals
...
This way we can ensure we always use only functions from RawOptions.
2019-11-18 17:38:39 -08:00
Mykola Orliuk
8991419c68
;all: drop dummy decodeRawOpts
2019-11-18 17:38:39 -08:00
Mykola Orliuk
ab9c150759
;lib: clean out showTransactionUnelided
...
Keep aliases until next major release.
2019-11-16 12:53:07 +01:00
Simon Michael
e83cbacbf6
;ui: help: pmi -> p/m/i
2019-10-19 18:47:39 -07:00
Mykola Orliuk
78146978f4
;lib: store raw opts unquoted
...
It looks like we only need quote when we build query and in some
messages.
Fixes simonmichael/hledger#1079
2019-10-19 14:44:08 -07:00
Caleb Maclennan
11d9e5eb6a
code: Strip extraneous trailing whitespace from Haskell sources
2019-07-15 16:40:49 +01: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
faf85d91e3
cli: restore --aux-date and --effective as --date2 aliases ( #1034 )
...
These Ledger-ish spellings were dropped over the years, to improve
--help's layout. Now they work again, but are considered hidden flags
so --help doesn't show them automatically (but I decided to mention
them manually in --date2's description).
2019-06-02 08:48:41 -07:00
Simon Michael
b2e7cc7827
ui: support brick 0.47+ as well
...
I should have supported latest brick, to get into stackage nightly.
Now it does.
No upper bound, once again; responding lazily to brick API changes
seems less disruptive overall.
2019-03-20 17:38:44 -07:00
Jakub Zárybnický
6becbc78f3
cli, web, ui: Replace withJournalDo* variants
2019-03-01 05:42:30 -08:00
Simon Michael
3b47b58aec
lib: clarify transaction balancing & balance assertion checking
2019-02-20 09:14:30 -08:00
Jakob Schöttl
98d7c073c7
Reduce simple lambda
2019-02-09 12:47:24 -08:00
Simon Michael
98e3358046
ui: more defensive brick list imports to fix recent breakage
2019-02-02 08:22:23 -08:00
Simon Michael
fda41373f7
ui: fix build issues with older brick/snapshots, require brick 0.23+
2019-02-01 21:05:56 -08:00