Commit Graph

51 Commits

Author SHA1 Message Date
Simon Michael
15dc638a07 ui: preserve forecast txns (& period) when reloading journal (#1204) 2020-12-12 11:53:24 -08: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
44da1e1cb7 ;ui: E key: simplify; drop buggy emacs end-of-file positioning 2019-12-15 11:03:05 -08:00
Simon Michael
3b47b58aec lib: clarify transaction balancing & balance assertion checking 2019-02-20 09:14:30 -08:00
Simon Michael
ad424e0381 ui: C-z suspend now restores the terminal cleanly 2019-01-23 17:26:27 -08:00
Simon Michael
cc0764eac2 ui: on posix, support ctrl-z to suspend the program 2019-01-18 16:33:06 -08:00
Simon Michael
c02647d05e ui: support ctrl-l everywhere 2019-01-18 16:32:57 -08:00
Simon Michael
389eaa4c5d ui: whitespace 2019-01-15 06:18:35 -08:00
Mykola Orliuk
99bfebd1a1 ui: support all results of showGenericSourcePos
Resolves simonmichael/hledger#904
2018-10-26 16:32:16 -07:00
Simon Michael
42a4a4a7e4 ui: use "border" instead of borderAttr everywhere
Assume it won't change, it's clearer and more consistent.
2018-10-23 06:43:21 -07:00
Alex Chen
3d2584d869 lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00
Alex Chen
b245ec7b3d lib: remove the megaparsec compatability module 2018-05-22 12:16:46 -07:00
Simon Michael
84579bb1b4 silence redundant import warnings with ghc 8.4 2018-03-24 22:51:56 +00: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
Hans-Peter Deifel
79e3a29083 Fix build of hledger-ui with megaparsec-6 2017-08-02 11:35:23 -07:00
Simon Michael
59af88b796 ui: add temporary --status-toggles for testing toggle styles (#564) 2017-06-18 16:20:30 -07:00
Simon Michael
eac2ff0ea7 ui: make --watch work on the error screen too 2016-12-02 15:37:18 -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
6dd406779b ui: always reload when g is pressed
Previously it would check the modification time and reload only if
it looked newer than the last reload. But this could get confused
somehow by fsnotify events, such that there were unloaded changes
on disk yet pressing g did nothing.
2016-11-24 20:23:14 -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
0cb5703ad1 ui: refactor draw functions 2016-08-02 08:24:04 -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
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
Moritz Kiefer
991204d59a Support vty 0.7 (#365) 2016-07-05 13:23:00 -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
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
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
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
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
2515025a84 ui: pressing g once now reloads all screens 2015-10-28 10:17:15 -07:00
Simon Michael
b527209e9f ui: err: tweak error message, make it red 2015-10-28 10:02:04 -07:00