Simon Michael
bfb8a13c13
imp: ui: Z -> z for easier zero toggling
...
Z remains supported as a hidden legacy key.
2021-11-25 11:58:41 -10:00
Simon Michael
eb4ad8cc11
imp: ui: also show declared leaf accounts (when showing zeros)
...
Similar to (and motivating) balance --declared, the goal is to
show a useful list of accounts when all you have is some starter
files with account declarations.
2021-11-25 11:57:39 -10:00
Simon Michael
e5678ce230
Revert "imp: ui: accounts: also show declared accounts, even if unused"
...
This reverts commit 29efacf02c .
(It breaks filtering by account, also the parent accounts aren't really desirable to see.)
2021-11-22 12:06:23 -10:00
Simon Michael
29efacf02c
imp: ui: accounts: also show declared accounts, even if unused
...
This will be more user-friendly when getting started.
2021-11-22 11:13:47 -10:00
Simon Michael
7e4b2af361
imp: ui: -w short flag for --watch
2021-11-21 19:34:40 -10:00
Stephen Morgan
59b4968929
imp: ui: Display an error message on invalid regexp, rather than
...
silently ignoring. (#1394 )
2021-11-20 22:23:52 -10:00
Simon Michael
c11d19a893
fix: ui: scroll selection to middle on first entry, also
...
The viewport doesn't exist until after first render, and scrollSelectionToMiddle didn't need it; viewportScroll queues up events for it.
https://github.com/jtdaugherty/brick/issues/349
2021-11-20 15:33:28 -10:00
Simon Michael
d0c937a41b
imp: ui: can click bottom blank area to go back
2021-11-19 11:32:33 -10:00
Simon Michael
956ee06591
imp: ui: transaction: refactor
2021-11-19 11:32:09 -10:00
Simon Michael
f5cfcf827d
imp: ui: don't use top margin as a click target yet
2021-11-18 23:01:52 -10:00
Simon Michael
710c054589
ui: listScrollPushingSelection: do scroll if there's no selection
2021-11-18 22:21:37 -10:00
Simon Michael
7bbff6a359
fix: ui: accounts: don't let j or C-n move past bottom
2021-11-18 22:21:37 -10:00
Simon Michael
9f6595f122
ui: refactor, generalise listScrollPushingSelection
2021-11-18 22:21:37 -10:00
Simon Michael
731a416b8c
ui: register: scrolling pushes selection, like accounts screen
2021-11-18 22:21:37 -10:00
Simon Michael
3a57814402
ui: debounced clicking; click top/left margin to exit
2021-11-18 22:21:37 -10:00
Simon Michael
6d69ea9c29
ui: mouse scrolls accounts, register screens
2021-11-18 22:21:37 -10:00
Simon Michael
96a80fca70
ui: register: left click enters transaction screen
2021-11-18 22:21:37 -10:00
Simon Michael
35402fb472
ui: accounts: left click enters register
2021-11-18 22:21:37 -10:00
Simon Michael
2076d5a98b
ui: enable mouse support at startup
2021-11-18 22:21:37 -10:00
Simon Michael
8f37d8a611
;ref: ui: clarify vty construction
2021-11-18 22:21:37 -10:00
Stephen Morgan
ff0132df28
dev: Use realLength from doclayout instead of strWidth and textWidth. ( #895 )
...
This gives us more accurate string length calculations. In particular,
it handles emoji and other scripts properly.
2021-11-11 18:29:50 -10:00
Simon Michael
1f2c11d1bc
ui: fix breakage from "areg: begin respecting --date2" ( #1731 )
2021-10-10 11:07:15 -10:00
Stephen Morgan
2b8190b238
fix: ui: Do not display a screen full of .. when there are no transactions. ( #822 )
2021-09-21 15:26:49 -10:00
Stephen Morgan
4cfd3cb590
lib!: Remove GenericSourcePos, and replace it with either SourcePos or
...
(SourcePos, SourcePos).
This has been marked for possible removal for a while. We are keeping
strictly more information. Possible edge cases arise with Timeclock and
CsvReader, but I think these are covered.
The particular motivation for getting rid of this is that
GenericSourcePos is creating some awkward import considerations for
little gain. Removing this enables some flattening of the module
dependency tree.
2021-09-20 08:38:33 -10:00
Simon Michael
326d6e8dae
ref: ReportOptions{infer_value_} renamed to infer_prices_
...
For more consistency with the flag name (--infer-market-prices).
And BalancingOpts{infer_prices_} is now infer_transaction_prices_.
2021-09-18 12:12:31 -10:00
Stephen Morgan
3456fcb862
test: ui: web: Use report date from _rsDay for hledger-ui and
...
hledger-web, rather than getCurrentDay.
File watching in hledger-ui continues to use getCurrentDay.
2021-09-09 14:40:39 -10:00
Stephen Morgan
765466c392
dev!: ui: Rename fields of UIOpts for consistency.
...
In code, either replace the name with the new name, or use the lenses
instead.
watch_ -> uoWatch
cliopts_ -> uoCliOpts
2021-09-09 13:31:43 -10:00
Stephen Morgan
7f7f1a2cdf
ref: ui: lens: Use lenses in UIState, saving a lot of boilerplate.
2021-09-09 13:31:43 -10:00
Stephen Morgan
f471258a48
dev: ui: lens: Add classy lens instances for UIOpts and UIState.
2021-09-09 13:31:43 -10:00
Stephen Morgan
09a2449f4f
ref: ui: Pull register and theme options into UIOpts.
2021-09-09 13:31:43 -10:00
Stephen Morgan
54c73ff759
ref: ui: Refactor code to eliminate requirement for change_ in UIOpts.
...
--change is already stored in balanceaccum_ in ReportOpts, so it does
not need to be stored in UIOpts too.
2021-09-09 13:31:43 -10:00
Stephen Morgan
83aa7324eb
dev: cli: Move Template Haskell to get git hash from Hledger.Cli.Version
...
to Hledger.Cli.
Since the git hash changes whenever any file in the repository changes,
this means Hledger.Cli.Version needs to be recompiled all the time.
Since it is at the bottom of the module hierarchy, this means that the
whole hledger package needs to be recompiled. We instead move the
TemplateHaskell splice to one of the top modules, so much less needs to
be recompiled.
Note: Ghc seems to be able to get out of most of the recompiling a lot
of the time (due to caching?), but this makes things more reliable.
2021-08-30 15:57:33 -10:00
Stephen Morgan
a0f9d7560f
pkg!: Remove Hledger.Utils.Color module.
...
This module was only used in one place in Hledger.Data.Amount. The code
has been moved directly into Hledger.Utils.
2021-08-30 15:57:33 -10:00
Stephen Morgan
761e00caa4
cln: hlint: Clean up lambda related warnings.
2021-08-27 06:13:56 -10:00
Stephen Morgan
beecb3c9ac
cln: hlint: Clean up list related hlint warnings.
2021-08-27 06:13:56 -10:00
Stephen Morgan
e13239386f
cln: hlint: Clean up == and elem related hlint warnings.
2021-08-27 06:13:56 -10:00
Stephen Morgan
eb6047e81b
cln: hlint: Remove redundant where and lambda warnings.
2021-08-26 21:00:35 -10:00
Stephen Morgan
46b0745412
cln: hlint: Remove Either and Bifunctor related warnings.
2021-08-26 21:00:35 -10:00
Stephen Morgan
69502c44fe
cln: hlint: Fix record patterns warnings.
2021-08-26 21:00:35 -10:00
Stephen Morgan
16b4702dce
fix: ui: Ensure that forecast_ argument gets restored to the startup
...
opts when toggling.
2021-08-26 20:32:30 -10:00
Stephen Morgan
c07ad29a87
imp!: forecast: Implements more intuitive logic for the forecast interval. ( #1648 )
...
The forecast period begins on:
- the start date supplied to the `--forecast` argument, if present
- otherwise, the later of
- the report start date if specified with -b/-p/date:
- the day after the latest normal (non-periodic) transaction in the journal, if any
- otherwise today.
It ends on:
- the end date supplied to the `--forecast` argument, if present
- otherwise the report end date if specified with -e/-p/date:
- otherwise 180 days (6 months) from today.
Note that the previous behaviour did not quite match the documentation,
so this also acts as a bug fix for #1665 .
2021-08-26 20:32:30 -10:00
Stephen Morgan
5906959882
cln: hlint: Remove redundant case warnings.
2021-08-26 07:23:11 -10:00
Stephen Morgan
a3cacca71d
fix: ui: Make sure RegisterScreen (and consequently TransactionScreen)
...
only display forecast transactions when the appropriate flag is set.
2021-08-23 22:22:53 -10:00
Simon Michael
49ff039312
lib: cli/ui/web: clarify version string code
...
version -> packageversion
versiondescription -> versionStringFor
2021-08-05 22:54:25 -10:00
Simon Michael
606d992fc8
cli: disable no-longer-used --binary-filename flag
...
It was still supported (as a hidden flag) by hledger-web,
and now is not.
2021-08-05 21:51:10 -10:00
Stephen Morgan
c404800fbf
ref!: forecast: Move forecast_ from ReportOpts to InputOpts.
2021-08-05 21:10:47 -10:00
Stephen Morgan
b0aa70b27a
lib!: Rename the fields of ReportSpec.
...
This is done to be more consistent with future field naming conventions,
and to make automatic generation of lenses simpler. See discussion in
\#1545.
rsOpts -> _rsReportOpts
rsToday -> _rsDay
rsQuery -> _rsQuery
rsQueryOpts -> _rsQueryOpts
2021-07-23 10:37:08 -10:00
Stephen Morgan
3969eb2679
lib!: lib,cli,ui,web: For accountTransactionsReport, generate the overall
...
reportq from the ReportSpec, rather than being supplied as a separate
option.
This is the same approach used by the other reports, e.g. EntryReport,
PostingReport, MultiBalanceReport. This reduces code duplication, as
previously the reportq had to be separately tweaked in each of 5
different places.
If you call accountTransactionreport, there is no need to separately
derive the report query.
2021-07-22 19:00:37 -10:00
Simon Michael
a83c2f6950
;cln: ui: clarify watch loop
2021-07-20 20:38:39 -10:00
Simon Michael
87f575e643
ref: bal: rename some report types to clarify/sync with docs
...
ReportType -> BalanceCalculation
ChangeReport -> CalcChange
BudgetReport -> CalcBudget
ValueChangeReport -> CalcValueChange
BalanceType -> BalanceAccumulation
PeriodChange -> PerPeriod
CumulativeChange -> Cumulative
HistoricalBalance -> Historical
ReportOpts:
reporttype_ -> balancecalc_
balancetype_ -> balanceaccum_
CompoundBalanceCommandSpec:
cbctype -> cbcaccum
Hledger.Reports.ReportOptions:
balanceTypeOverride -> balanceAccumulationOverride
2021-07-15 14:22:20 -10:00