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
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
Stephen Morgan
68e975adf1
lib,cli,ui,web: Remove unused LANGUAGE pragmas.
2021-06-07 17:33:54 -10:00
Stephen Morgan
c87290e5f5
ui: Remove unnecessary CPP when dropping support for GHC 8.4.
2021-06-07 17:33:54 -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
Simon Michael
ffb985f1a2
ui, web: make --man and --info work, similar to hledger
...
(cf #1410 )
2021-03-03 05:57:31 -08: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
Simon Michael
6158d16443
;ui: refactor, simplify query
2020-12-12 11:52:15 -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
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
fcbe511d42
ui,web: Adopt new ReportOptions interface, store literal query string in UIOpts.
2020-10-23 14:14:11 -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
e5371d5a6a
lib,cli,ui,web: Make Regexp a wrapper for Regex.
2020-08-31 12:04:45 +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
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
Stephen Morgan
51ea6d9f25
lib: Make queryDepth return Maybe Int.
2020-07-16 10:05:53 -07:00
Dmitry Astapov
b7413edf22
lib: --forecast=PERIODICEXPR. Fixes #835 , #1236
2020-06-03 15:53:00 -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
5dac8af2ef
;ui: fix build error due to tests rewrite
2019-11-27 21:54:31 -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
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
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
c5ae8e6891
comments
2019-01-16 13:58:04 -08:00
Simon Michael
89a0c7a308
ui: comment
2018-10-18 14:43:00 -07:00
Simon Michael
2edb1f2705
ui: always enable periodic transactions and transaction modifiers
...
Rule-based transactions and postings are always generated
(--forecast and --auto are always on).
Experimental.
2018-10-18 14:43:00 -07:00
Simon Michael
ea52c3d620
ui: restore support for fsnotify 0.2.1.2, as well as 0.3.x ( #833 )
...
For easier stackage entry.
2018-07-03 12:50:51 +01:00
Simon Michael
a1c0835445
ui: fix a vty version bound typo & possibly build failures ( #494 )
...
CPP intended to use old code for vty < 5.15 was always using the new code.
2018-07-03 12:38:40 +01:00
Simon Michael
236101e31a
ui: support/require fsnotify 0.3.0.1+
...
The api has changed, it supports directory events, and might be more robust.
2018-06-05 06:41:13 -07:00
Dmitry Astapov
d82370d10b
lib, app, web: remove differences between command line and journal file aliases
2018-04-17 16:09:11 -07:00
Dmitry Astapov
f6ec26e321
lib, app, web, ui: rename readJournalFile[s]WithOpts to readJournalFile, same for tryReader[s]WithOpts
2018-04-17 15:25:02 -07:00
Dmitry Astapov
ecf49b1e4b
lib: auto postings generated before amount inference and balance checks ( #729 )
2018-04-17 14:33:32 -07:00
Simon Michael
178e3a234b
ui/web: -E toggles zeroes at startup, with opposite default to cli
2018-03-29 22:35:06 +01:00
Simon Michael
0da68d2cb8
ui: fix some of the hlint warnings
2018-02-18 08:05:33 -08:00
Simon Michael
f8e781462d
ui, web: use/support new -V, --forecast, --auto
2017-12-29 16:53:37 -08: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
Jakub Zárybnický
13a6584440
ui, web: Enable --pivot and --anon in ui and web ( #474 )
2017-09-04 20:45:31 -07:00
Simon Michael
7e896572a7
make --help and -h the same, drop --man and --info for now ( #579 )
2017-07-07 02:08:34 +01:00
Simon Michael
1f362101cc
ui: addenda for #494
2017-01-25 09:42:10 -08:00
Peter Simons
e3d78fd0db
hledger-ui: add support for brick 0.17 and vty 0.15 ( #494 )
2017-01-25 09:35:47 -08:00
Joshua Chia
d3883bad1f
Updated hledger-ui to use brick-0.16 ( #479 )
...
brick-0.16 uses Brick.BChan.BChan instead of Control.Concurrent.Chan.Chan.
2017-01-14 10:41:46 -08:00
Simon Michael
7ad31e65a1
ui: comment
2016-12-31 07:54:47 -08:00
Simon Michael
37632a3283
ui: small change to --watch, ignore file add/remove events
2016-12-30 20:01:34 -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
1735b62011
ui: oops, watch files only with --watch flag
2016-11-25 07:02:07 -08:00
Simon Michael
148ac4236f
ui: --change shows period balances (changes) at startup
2016-11-24 11:32:13 -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
1d6ca47536
ui: set report period from date: query args, also
...
date2: and --date2 might also affect it somehow, untested.
2016-08-10 10:24:43 -07:00
Simon Michael
11c6426834
ui: show historical balances whenever possible #392
...
hledger-ui now tries to show historical balances always, including
when (to limit transactions on the register screen) a report start date
is specified. This means that:
- the accounts screen balances are not disturbed by a start date
- the register screen is now a little better at showing the running
historical balance. It's still not very good at it; some filter
queries will cause it to fall back to showing the running total of
visible transactions. But it's no longer disturbed by Z (nonzero mode)
or a cur: query term.
2016-08-08 17:50:26 -07:00
Simon Michael
4e1c997965
ui: accounts: always use --no-elide for a more regular tree
2016-08-07 12:17:38 -07:00
Simon Michael
ffb40870ce
ui: register: be inclusive for a depth-clipped account, matching displayed balance
...
And drop F key from register screen again.
2016-07-26 17:28:29 -07:00
Simon Michael
9b0cadc179
ui: support/require brick 0.7+ #379
2016-07-24 18:06:49 -07:00
Simon Michael
47a8eb53c8
ui: refactor: AppState -> UIState, cleanups
2016-06-10 17:54:46 -07:00
Simon Michael
aa75cc69f6
ui: a more general mode mechanism
2016-06-10 08:40:00 -07:00
Simon Michael
6c6222ef85
ui: import Lens.Micro.Platform more correctly
2016-06-09 12:41:26 -07:00
Simon Michael
8bda78a447
ui: refactor, simplify, flatten screen types
2016-06-09 07:47:48 -07:00
Simon Michael
5259605e82
ui: simplify screen naming & importing
2016-06-08 11:03:49 -07:00
Simon Michael
bbcbaf6080
ui: Esc (outside minibuffer) resets, jumps to top
2016-06-07 09:26:16 -07:00
Simon Michael
7a951a8dd7
ui: cleanup, haddocks
2016-06-07 09:03:59 -07:00
Simon Michael
9131eb7c67
ui: allow the filter query to be changed
2016-06-04 11:56:10 -07:00
Simon Michael
d1d6e237ec
ui: U key shows only uncleared transactions/postings
2016-06-03 18:32:19 -07:00
Simon Michael
16bb17fbe8
ui: show nonzero (empty) mode, turn it off by default
...
-E/--empty is now the default for hledger-ui, so accounts with 0 balance
and transactions posting 0 change are shown by default. The E key
toggles this, entering "nonzero" mode which hides zero items.
2016-06-03 09:01:54 -07:00
Simon Michael
2538d14ea7
lib: textification begins! account names
...
The first of several conversions from String to (strict) Text, hopefully
reducing space and time usage.
This one shows a small improvement, with GHC 7.10.3 and text-1.2.2.1:
hledger -f data/100x100x10.journal stats
string: <<ghc: 39471064 bytes, 77 GCs, 198421/275048 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.020 elapsed), 0.010 GC (0.014 elapsed) :ghc>>
text: <<ghc: 39268024 bytes, 77 GCs, 197018/270840 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.002 elapsed), 0.016 MUT (0.022 elapsed), 0.009 GC (0.011 elapsed) :ghc>>
hledger -f data/1000x100x10.journal stats
string: <<ghc: 318555920 bytes, 617 GCs, 2178997/7134472 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.001 elapsed), 0.129 MUT (0.136 elapsed), 0.067 GC (0.077 elapsed) :ghc>>
text: <<ghc: 314248496 bytes, 612 GCs, 2074045/6617960 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.003 elapsed), 0.137 MUT (0.145 elapsed), 0.067 GC (0.079 elapsed) :ghc>>
hledger -f data/10000x100x10.journal stats
string: <<ghc: 3114763608 bytes, 6026 GCs, 18858950/75552024 avg/max bytes residency (11 samples), 201M in use, 0.000 INIT (0.000 elapsed), 1.331 MUT (1.372 elapsed), 0.699 GC (0.812 elapsed) :ghc>>
text: <<ghc: 3071468920 bytes, 5968 GCs, 14120344/62951360 avg/max bytes residency (9 samples), 124M in use, 0.000 INIT (0.003 elapsed), 1.272 MUT (1.349 elapsed), 0.513 GC (0.578 elapsed) :ghc>>
hledger -f data/100000x100x10.journal stats
string: <<ghc: 31186579432 bytes, 60278 GCs, 135332581/740228992 avg/max bytes residency (13 samples), 1697M in use, 0.000 INIT (0.008 elapsed), 14.677 MUT (15.508 elapsed), 7.081 GC (8.074 elapsed) :ghc>>
text: <<ghc: 30753427672 bytes, 59763 GCs, 117595958/666457240 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.008 elapsed), 13.713 MUT (13.966 elapsed), 6.220 GC (7.108 elapsed) :ghc>>
2016-05-24 19:00:49 -07:00
Simon Michael
42c12fe631
cli, ui, web, api: --info, --man, info & man cmds
2016-04-19 19:21:29 -07:00
Simon Michael
f9362707b6
ui, web, api: fix -h, --help
2016-04-18 16:43:51 -07:00
Simon Michael
f331ebec16
ui, api: switch to the quicker-building microlens
...
This may not make much difference since dependencies brick and
servant-swagger still depend on lens, but that might change.
2016-04-04 17:50:58 -07:00
Simon Michael
b48ee2d22e
ui: types cleanup
2015-10-28 11:46:06 -07:00
Simon Michael
b950bd0d83
ui: reg: refactor, consolidate state
2015-10-28 11:30:56 -07:00
Simon Michael
45db0a28cc
ui: acc: preserve account selection across reloads
2015-10-28 11:13:33 -07:00
Simon Michael
ebc4022888
ui: after exiting --register, select that account
2015-09-03 20:51:05 -07:00
Simon Michael
472b0aee75
ui: whitespace
2015-09-03 20:46:36 -07:00
Simon Michael
d46f511b79
ui: allow navigating to accounts after --register
2015-09-03 20:40:43 -07:00
Simon Michael
07041e1b65
ui: fix --ignore-assertions, perhaps more
2015-09-03 16:09:52 -07:00
Simon Michael
74512814ec
cli/ui/web: rename X.Options modules to X.XOptions
...
Make these modules' names more like the heavily-used types they
define (CliOpts, UIOpts, WebOpts). This is consistent with
RawOptions and ReportOptions, and helps with code navigation.
2015-08-28 12:43:51 -07:00
Simon Michael
4f351d6c9c
ui: --register starts in the register screen
2015-08-28 08:48:40 -07:00
Simon Michael
d1467d7967
ui: drop unneeded args field, use opts instead
2015-08-28 06:36:07 -07:00
Simon Michael
3fa0ad8eb6
ui: drop old posting register screen's code
2015-08-27 22:53:12 -07:00
Simon Michael
b51f45c675
ui: misc enhancements, allow depth adjustment
...
- clean up options a bit, enable -V/--value (affects the accounts screen)
- more informative top/bottom borders, including key help
- number keys adjust the depth limit (accounts screen)
- remove obsolete args parameter
2015-08-27 22:46:14 -07:00
Simon Michael
e7aa150e52
ui: solidified register screen, added themes
...
- register screen:
- smarter width-sensitive layout, with multi-commodity amounts on one line
- items are sorted in date order
- jumps to the latest item by default, with consistent scroll position
- more prerendering, might speed up movement/paging slightly
- themes! --theme to select, --help to list (current themes: default, terminal, greenterm)
- border tweaks - dropped side borders, added side padding
2015-08-24 16:24:11 -07:00
Simon Michael
6b07503792
ui: move backlog to readme
2015-08-24 16:24:11 -07:00
Simon Michael
866414a528
ui: provide a more useful transaction register
...
The register screen is now like the register view in hledger-web (and
other accounting systems), rather than hledger's register command.
This means:
- it shows transactions affecting a particular current account, rather
than postings matching a pattern.
- Each line represents a whole transaction.
- The account field shows the *other* account being transacted with.
When there is more than one, they are all listed, abbreviated and
marked with "(split)".
- The amount field shows the effect of the transaction on the current
account; positive for an inflow to this account, negative for an
outflow.
- The balance field should usually show the current account's historic
balance as of the transaction date, even when you change the report
start date. (Not working yet - currently it always shows the running
total).
- Transactions are listed most recent first, currently.
2015-08-24 16:24:11 -07:00
Simon Michael
5953978471
ui: update for new brick branch, pgup/down works
2015-08-24 16:24:11 -07:00
Simon Michael
49e1840a0f
ui: rewrite the ui using brick
...
hledger-ui (formerly hledger-vty) is now built on brick, a new
declarative UI layer built on vty. This brings much new power, and
should make the UI much easier to grow and maintain.
At this point, functionality and performance are similar to the old
version. There's no journal entries screen, but entering the postings
screen jumps to the latest posting, and layout is better (multiple
commodities are rendered on one line).
Requires unreleased brick from github (HEAD or some branch) for now.
2015-08-24 16:24:11 -07:00
Simon Michael
207ae772d4
ui: revive the curses UI, now named hledger-ui
2015-08-13 11:22:40 -07:00