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
b4254f41c6
;doc: update manuals
2021-11-18 22:57:53 -10:00
Simon Michael
6aa212dd4a
;doc: ui: consistent capitalisation, drop wrong ENTER references
2021-11-18 22:57:34 -10:00
Simon Michael
1d3afad881
;doc: ui: tweak
2021-11-18 22:49:29 -10:00
Simon Michael
568b39734b
;doc: update manuals
2021-11-18 22:48:14 -10:00
Simon Michael
35b16346a9
;doc: ui: document mouse support
2021-11-18 22:43:27 -10:00
Simon Michael
cf15dbd7c9
;doc: update manuals
2021-11-18 22:26:10 -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
Stephen Morgan
1bc04685b7
pkg: Drop base-compat-batteries dependency.
...
Our supported stackage versions are now new enough that we don't need
any of the compatibility features anymore.
2021-10-31 07:56:07 -10:00
Simon Michael
1f2c11d1bc
ui: fix breakage from "areg: begin respecting --date2" ( #1731 )
2021-10-10 11:07:15 -10:00
Simon Michael
7af2e79465
;cabal: update cabal files
2021-10-03 22:56:02 -10:00
Simon Michael
69905dbc25
;pkg: allow megaparsec 9.2
2021-10-03 22:55:10 -10:00
Simon Michael
b857307f64
;cabal: update cabal files
2021-09-24 12:22:15 -10:00
Simon Michael
8934c115bd
;pkg: bump version to 1.23.99
2021-09-24 12:22:15 -10:00
Simon Michael
e90fa3ee81
doc: changelogs: cleanup, finalise
2021-09-21 17:15:39 -10:00
Simon Michael
416555b65a
doc: update manuals
2021-09-21 17:15:39 -10:00
Simon Michael
1b020e004b
;cabal: update cabal files
2021-09-21 15:34:23 -10:00
Simon Michael
19950df745
;pkg: bump version to 1.23
2021-09-21 15:34:23 -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
Simon Michael
bb4f2ff34f
;doc: update changelogs
2021-09-20 17:58:29 -10:00
Simon Michael
9cae7a076a
;doc: update manuals
2021-09-20 16:56:36 -10:00
Simon Michael
c2e6a2931c
;tests: ui: add missing test file
2021-09-20 16:53:55 -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
Simon Michael
993e381307
;doc: update manuals
2021-09-18 11:24:52 -10:00
Simon Michael
02a79fb230
;tests: ui: use --today to make hledger-ui tests robust ( #1674 )
2021-09-18 11:10:25 -10:00
Simon Michael
8a4cea2a69
;doc: update manuals
2021-09-17 17:58:10 -10:00
Simon Michael
7a249cffe9
;doc: update manuals
2021-09-09 14:45:01 -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
Simon Michael
8bf7cd30ae
;doc: update changelogs
2021-08-26 20:59:45 -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
Simon Michael
092e9479f0
;ui: update forecast example journal and hledger-ui forecast tests
...
Related to #1667 .
2021-08-26 19:51:01 -10:00
Simon Michael
76a6c5fe4f
;ui: test: cleanup, remove non-working test attempts
2021-08-26 19:50:57 -10:00
Stephen Morgan
5906959882
cln: hlint: Remove redundant case warnings.
2021-08-26 07:23:11 -10:00
Simon Michael
093c304834
;doc: ui, web: changelogs tweak
2021-08-24 05:31:27 -10:00
Simon Michael
bffeab45c8
;doc: update changelogs
2021-08-24 05:14:24 -10:00
Simon Michael
53d9455bdc
;doc: update changelogs
2021-08-24 05:05:50 -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
ddeeee6046
;doc: update changelogs
2021-08-19 18:36:34 -10:00
Simon Michael
d06d4ca080
;doc: update manuals
2021-08-08 09:39:20 -10:00
Simon Michael
04812682e8
;doc: bump man page dates
2021-08-08 09:39:20 -10:00
Simon Michael
233b8c91cb
;doc: finalise 1.22.2 changelogs
2021-08-07 09:27:20 -10:00
Simon Michael
2e28c5a1ef
;doc: update changelogs
2021-08-07 09:20:20 -10:00
Simon Michael
9bc77f87fc
;doc: changelogs
2021-08-06 17:26:37 -10:00
Simon Michael
981849a6c1
;doc: changelogs
2021-08-06 00:16:20 -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
Simon Michael
6afc5ce6b2
;cabal: update cabal files
2021-08-03 21:05:29 -10:00
Simon Michael
f51ea92cfc
deps: require base >=4.11, prevent red squares on hackage matrix
...
We officially support GHC 8.6+ (and 8.8+ for hledger-web) now.
Hackage matrix builder shows all packages building successfully
with GHC 8.4+, somehow, so we'll adjust the base bound to
allow that but prevent any attempts to build with older GHCs,
2021-08-03 21:05:02 -10:00
Simon Michael
2a39497e21
pkg: add tested-with GHC 9.0.1
2021-08-03 20:52:05 -10:00
Simon Michael
abd63db3e7
;doc: update changelogs
2021-08-03 09:50:57 -10:00
Simon Michael
81dfbc9ac2
;doc: changelogs: note some 1.22.1 changes I missed
2021-08-03 09:42:59 -10:00
Simon Michael
95de5a878a
;cabal: update cabal files
2021-08-03 08:00:22 -10:00
Simon Michael
6665ddfb9b
;pkg: bump version to 1.22.99
2021-08-03 00:24:20 -10:00
Simon Michael
d425ce8fd3
;doc: changelogs: 1.22.1 release date
2021-08-02 22:50:03 -10:00
Simon Michael
1d0b2bf9ce
;doc: update changelogs
2021-08-01 08:05:05 -10:00
Simon Michael
4451d68a63
;doc: update manuals
2021-07-29 20:41:19 -10:00
Simon Michael
f8cc6edbde
;imp: ui: doc: document watch mode and limitations ( #1617 , #911 , #836..)
2021-07-29 20:36:49 -10:00
Simon Michael
f12ff0df3a
;doc: ui, web: move screenshot styles elsewhere
2021-07-28 22:24:25 -10:00
Simon Michael
e4a23c95d4
;doc: changelogs: gather 1.22.1 changes
2021-07-28 10:03:22 -10:00
Simon Michael
666e217bd5
;doc: update changelogs
2021-07-27 23:21:13 -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
6569c2aca7
;doc: update changelogs
2021-07-20 22:24:39 -10:00
Simon Michael
9aac520edd
deps: allow megaparsec 9.1
2021-07-20 20:38:39 -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
Simon Michael
f54e645dbf
test: ui: outliner tip
2021-07-15 09:57:16 -10:00
Stephen Morgan
5f53da87e0
fix: ui: Make sure that you can scroll between matching transactions in
...
TransactionScreen. (#1607 )
Make sure that the previous register screen is updated whenever we
scroll in TransactionScreen.
2021-07-15 09:46:56 -10:00
Simon Michael
8d68193c88
;fix: doc: info: avoid directory paths in directory metadata ( #1594 )
...
In each info manual's DIR-ENTRY metadata, it's best to use just the
filename, with no subdirectory. This should facilitate working info
manuals in packaged versions of hledger, eg in nix.
I don't remember the detail of why I added those and I'm not going to
spend a couple of hours retesting; hopefully no other significant
workflows will be affected.
I have left the subdirectory paths in the dir file - this is intended
for hledger developers and they hopefully don't cause a problem there.
2021-07-14 09:07:56 -10:00
Simon Michael
964a019368
;doc: changelogs: minor release headings
2021-07-13 18:39:43 -10:00
Simon Michael
1f9d89879d
;doc: update changelogs
2021-07-13 18:39:40 -10:00
Simon Michael
ce526305bf
;test: ui: transaction: add a test for up/down key ( #1607 )
2021-07-13 12:34:25 -10:00
Simon Michael
b8f0900edb
;dev: doc: update manuals
2021-07-12 18:50:06 -10:00