Commit Graph

60 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
9e42e231c7 ui: accounts, register: more stable scroll position after E/C/R 2016-06-03 17:53:49 -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
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
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
ed775e1ef4 ui: cleanup 2015-11-06 21:17:09 -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
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
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
2515025a84 ui: pressing g once now reloads all screens 2015-10-28 10:17:15 -07:00
Simon Michael
6f85e02f1a ui: show an error screen when reloading fails 2015-10-26 07:41:45 -07:00
Simon Michael
bcc22a0367 ui: register: wide-char-aware layout 2015-10-10 12:26:17 -07:00
Simon Michael
4a4fb13a95 ui: reg: g key reloads here too 2015-09-04 09:09:36 -07:00