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