Commit Graph

110 Commits

Author SHA1 Message Date
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