Simon Michael
0f1108db07
ui: use a custom application event type
2016-11-24 09:10:50 -08:00
Simon Michael
9311077205
ui: allow brick 0.14, vty 5.12, text-zipper 0.9
2016-11-19 08:53:07 -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
f0f4013b7a
ui: use latest brick, 0.11
2016-10-27 14:15:56 -07:00
Simon Michael
1362784546
ui: help: reset wording
2016-09-05 10:57:05 -07:00
Simon Michael
8c32af581b
ui: use full narrow terminal width for help dialog
2016-09-05 10:56:38 -07:00
Simon Michael
a4cf233312
ui: keep next/previous period within the journal's date span
2016-08-13 08:08:43 -07:00
Simon Michael
ef961f51ac
ui: quick help formatting fix
2016-08-12 18:06:02 -07:00
Simon Michael
4e3c0cc936
ui: historical/period toggle, help updates
...
accounts and register screens can now switch between "historical"
(default) and "period" modes
title header wording is clearer
quick help footer now indicates historical/period and tree/flat modes,
saving space in the title
help screen is more explanatory
the enter key has been reserved for later and is no longer an alias
for right/l
2016-08-12 17:44:55 -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
af9daa3b11
ui: use only shift-cursor keys for period; simplify
2016-08-10 07:17:35 -07:00
Simon Michael
fe1408485d
ui: shift-left/right/up/down equivalent to p/n/u/d
2016-08-09 16:36:14 -07:00
Simon Michael
79cc999fa3
ui: d/u zooms report period down/up, t selects today
2016-08-09 15:31:35 -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
974b1e3be0
lib: simplify balance report types; haddocks
2016-08-08 17:23:21 -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
88ceb7470c
ui: help: add d/n/p, move DEL/BS to bottom #381
2016-08-04 11:55:46 -07:00
Simon Michael
293b0f6705
ui: strip leading/trailing whitespace from filter query
2016-08-04 11:55:46 -07:00
Simon Michael
3c724efe4f
ui: d cycles report duration, n/p steps to next/prev period ( #381 )
2016-08-02 08:24:04 -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
b7071dee84
lib: use Data.Default directly, not via cmdargs
2016-07-29 10:15:48 -07:00
Moritz Kiefer
4141067428
Replace Parsec with Megaparsec (see #289 ) ( #366 )
...
* Replace Parsec with Megaparsec (see #289 )
This builds upon PR #289 by @rasendubi
* Revert renaming of parseWithState to parseWithCtx
* Fix doctests
* Update for Megaparsec 5
* Specialize parser to improve performance
* Pretty print errors
* Swap StateT and ParsecT
This is necessary to get the correct backtracking behavior, i.e. discard
state changes if the parsing fails.
2016-07-29 08:57:10 -07:00
Simon Michael
90c0d40777
lib, ui, web: more careful dates in account transactions report/registers
...
Clarify the account transactions report, and don't change original transactions' dates.
Show a more accurate date in hledger-ui and hledger-web's account registers
when postings have their own dates. This is now called the "transaction register date":
the date which is displayed for that transaction in a register for some current account
and filter query. It is either the transaction date from the journal ("transaction general date"),
or if postings to the current account and matched by the register's filter query have
their own dates, the earliest of those dates.
2016-07-27 12:12:42 -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
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
Simon Michael
347e9dc701
ui: clarify and refine journal reloading a bit
...
The CLI options saved in the UI state are not updated if reloading fails.
(I didn't need this change after all, but it seems reasonable.)
Reloading on the error screen just updates the message, rather than
entering a new error screen.
Docs have been clarified.
2016-07-06 14:58:55 -07:00
Simon Michael
9a7fe756b9
ui: help: tweak direction key help
2016-07-06 14:51:26 -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
7a4c45aa4a
ui: basic manual integration
2016-06-20 11:09:12 -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
Simon Michael
c4b3a4f996
ui: use Z instead of E for nonzero mode
...
Breaking consistency with hledger cli flags, but I think it's
more mnemonic, and E will more useful for something else.
2016-06-18 09:00:38 -07:00
Simon Michael
b017426812
ui: use same filter style for depth limit
2016-06-18 08:53:59 -07:00
Simon Michael
cc8180b295
ui: flat mode affects register too; doc updates
2016-06-18 08:46:08 -07:00
Simon Michael
c26178acdd
ui: reg: select latest txn by default again
2016-06-18 07:31:09 -07:00
Simon Michael
d4343f8de1
ui: at depth 0 call account "All" (and fix register)
2016-06-12 11:09:59 -07:00
Simon Michael
bdb36b8480
ui: refactor: events, imports cleanup
2016-06-10 17:54:46 -07:00
Simon Michael
47a8eb53c8
ui: refactor: AppState -> UIState, cleanups
2016-06-10 17:54:46 -07:00
Simon Michael
0851851ea9
ui: refactor: drop Vty. prefix
2016-06-10 16:39:06 -07:00
Simon Michael
9ba8465421
ui: accounts: fix an earlier refactoring, helping selection persistence
2016-06-10 16:21:43 -07:00
Simon Michael
8b9f5e1cdf
ui: 0 now limits depth to 0 instead of resetting it
2016-06-10 12:51:10 -07:00
Simon Michael
dc6f39a859
ui: doc: latest keys
2016-06-10 12:12:45 -07:00
Simon Michael
ea180f72a0
ui: briefer on-screen help, and a more detailed help dialog
2016-06-10 11:50:57 -07:00
Simon Michael
aa75cc69f6
ui: a more general mode mechanism
2016-06-10 08:40:00 -07:00
Simon Michael
499f249157
ui: clear screen before add
2016-06-09 12:42:47 -07:00
Simon Michael
6c6222ef85
ui: import Lens.Micro.Platform more correctly
2016-06-09 12:41:26 -07:00
Simon Michael
a6d859c273
ui: comments
2016-06-09 09:51:15 -07:00
Simon Michael
1ed7819467
ui: very basic add command integration
2016-06-09 09:50:41 -07:00
Simon Michael
8bda78a447
ui: refactor, simplify, flatten screen types
2016-06-09 07:47:48 -07:00
Simon Michael
e6b1d2d5a7
ui: preliminary lensification, just the accounts screen state
...
Experimenting with lenses to reduce record accessing/updating noise.
So far, it's not at all a clear win.
cf https://github.com/jtdaugherty/brick/issues/62
2016-06-08 15:47:53 -07:00
Simon Michael
5c343a5848
ui: convert screen states to records
...
This is highly verbose, but potentially clearer, allows better haddock docs, and hopefully will improve after lensification.
2016-06-08 12:15:58 -07:00
Simon Michael
5259605e82
ui: simplify screen naming & importing
2016-06-08 11:03:49 -07:00
Simon Michael
70d596fb38
ui: extract journal reloading
2016-06-08 10:48:34 -07:00
Simon Michael
1e93feeff3
ui: distinguish regenerateScreens from journal reloading
2016-06-08 10:42:51 -07:00
Simon Michael
bbcbaf6080
ui: Esc (outside minibuffer) resets, jumps to top
2016-06-07 09:26:16 -07:00
Simon Michael
c6313ebf8c
ui: use / to filter; backspace/delete clears it
...
I was planning to use this for search, but I can't help it, my hands
want to use / to adjust the filter.
2016-06-07 09:23:36 -07:00
Simon Michael
4b68675ce5
ui: txn: show current query affecting txn list
2016-06-07 09:20:20 -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
606036e1a2
ui: consistent -V description in short help
2016-06-03 18:41:12 -07:00
Simon Michael
d1d6e237ec
ui: U key shows only uncleared transactions/postings
2016-06-03 18:32:19 -07:00
Simon Michael
3b24c15813
ui: transaction: show when empty/cleared/real are affecting the txn list
2016-06-03 18:00:38 -07:00
Simon Michael
9e42e231c7
ui: accounts, register: more stable scroll position after E/C/R
2016-06-03 17:53:49 -07:00
Simon Michael
4ab1536ea0
ui: accounts: hold selection better during F toggle
2016-06-03 16:31:53 -07:00
Simon Michael
ddf18060ab
ui: register: keep scroll position more stable when toggling E
2016-06-03 16:07:37 -07:00
Simon Michael
fa59fd27ee
ui: register: fix zero txn toggling, and maintain selection
2016-06-03 12:56:22 -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
2c8b47b293
ui: register: E key toggles zero-amount txns
2016-06-03 08:57:38 -07:00
Simon Michael
cc67aeba8d
ui: fix some warnings ( #354 )
2016-06-02 18:13:07 -07:00
Simon Michael
7c8d7e9820
ui: transaction: ignore real/cleared/empty, always show full txn ( #354 )
...
This commit clarifies the account transactions report: as before the included transactions
are the original unfiltered transactions, but now the change and running balance amounts
are calculated from the report-matched postings. This fixed the limitation noted in 509f558
,
so that toggling real mode in any screen could work. Then I decided the transaction screen
shouldn't show a partial transaction after all, so real/cleared filtering is no longer allowed or indicated here.
2016-06-02 07:03:00 -07:00
Simon Michael
e3a55a72d9
ui: accounts: E key toggles --empty
2016-06-01 12:32:38 -07:00
Simon Michael
509f55864d
ui: indicate real mode and toggle it with R key ( #354 )
...
There is a limitation/bug: disabling real mode in the transaction screen
won't show the non-real postings if it was entered from a real-mode
register screen.
2016-06-01 12:30:39 -07:00
Simon Michael
90c9735b7a
lib: textification: descriptions & codes
...
Slightly higher (with small files) and lower (with large files) maximum
residency, and slightly quicker for all.
hledger -f data/100x100x10.journal stats
<<ghc: 42858472 bytes, 84 GCs, 193712/269608 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.015 elapsed), 0.016 MUT (0.042 elapsed), 0.011 GC (0.119 elapsed) :ghc>>
<<ghc: 42891776 bytes, 84 GCs, 190816/260920 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.004 elapsed), 0.017 MUT (0.025 elapsed), 0.010 GC (0.015 elapsed) :ghc>>
hledger -f data/1000x1000x10.journal stats
<<ghc: 349575240 bytes, 681 GCs, 1396425/4091680 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.137 MUT (0.146 elapsed), 0.050 GC (0.057 elapsed) :ghc>>
<<ghc: 349927568 bytes, 681 GCs, 1397825/4097248 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.126 MUT (0.133 elapsed), 0.050 GC (0.057 elapsed) :ghc>>
hledger -f data/10000x1000x10.journal stats
<<ghc: 3424029496 bytes, 6658 GCs, 11403141/41077288 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.000 elapsed), 1.278 MUT (1.310 elapsed), 0.493 GC (0.546 elapsed) :ghc>>
<<ghc: 3427418064 bytes, 6665 GCs, 11127869/37790168 avg/max bytes residency (11 samples), 109M in use, 0.000 INIT (0.001 elapsed), 1.212 MUT (1.229 elapsed), 0.466 GC (0.519 elapsed) :ghc>>
hledger -f data/100000x1000x10.journal stats
<<ghc: 34306546248 bytes, 66727 GCs, 77030638/414617944 avg/max bytes residency (14 samples), 1012M in use, 0.000 INIT (0.000 elapsed), 12.965 MUT (13.164 elapsed), 4.771 GC (5.447 elapsed) :ghc>>
<<ghc: 34340246056 bytes, 66779 GCs, 76983178/416011480 avg/max bytes residency (14 samples), 1011M in use, 0.000 INIT (0.008 elapsed), 12.666 MUT (12.836 elapsed), 4.595 GC (5.175 elapsed) :ghc>>
2016-05-24 19:00:58 -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
0a90ef4658
ui: preserve --ignore-assertions & flags on reload
2016-05-02 20:12:11 -07:00
Simon Michael
50aeb90596
lib, ui: GHC 8 compatibility
2016-04-28 12:55:19 -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
f36c4a2a91
mark todo
2016-02-19 17:52:40 -08:00
Simon Michael
8a4f3eaad4
ui: txn: make reloading work on this screen
2015-11-06 21:17:25 -08:00
Simon Michael
ed775e1ef4
ui: cleanup
2015-11-06 21:17:09 -08:00
Simon Michael
a8d9178ee2
ui: haddock
2015-11-06 21:16:44 -08:00
Simon Michael
e061eabe2c
ui: C toggles --cleared; f -> F; UI tweaks
...
You can now toggle showing only cleared items in the accounts and
register screens, with C (like the command-line flag).
The f key has been changed to F for consistency (we don't have this as a
command-line flag, though we could, though Ledger uses it for something
different).
Screen titles have been tweaked, eg switching the cyan and yellow.
Screen help has been squeezed to fit better in 80 columns.
2015-10-30 10:42:44 -07:00
Simon Michael
722e19098f
ui: txn: next/prev also moves selection in register
2015-10-29 20:34:31 -07:00
Simon Michael
4691454908
ui: txn: up/down steps through txns in the account
2015-10-29 20:19:18 -07:00
Simon Michael
4d97db02cb
ui: txn: show full transaction, not a partial one
2015-10-29 18:20:27 -07:00
Simon Michael
11fee9fbe8
ui: txn: show multi-commodity amounts on one line
...
In the transaction screen, show multi-commodity posting amounts on one
line, consistent with the rest of hledger-ui.
2015-10-29 18:10:06 -07:00
Simon Michael
68cd35c965
ui: txn: add a transaction-viewing screen
2015-10-29 17:45:57 -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
423934b2b8
ui: fixups
2015-10-28 10:27:14 -07:00
Simon Michael
2515025a84
ui: pressing g once now reloads all screens
2015-10-28 10:17:15 -07:00