mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-20 02:37:12 +03:00
ui: use t/l keys for tree/list, T for "today", drop vi keys?! retune help (#1286)
This commit is contained in:
parent
a3ae4d88f8
commit
847fc23236
@ -208,8 +208,9 @@ asDraw UIState{aopts=_uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}
|
||||
quickhelp = borderKeysStr' [
|
||||
("?", str "help")
|
||||
-- ,("RIGHT", str "register")
|
||||
,("t", str "tree")
|
||||
,("l", str "list")
|
||||
,("-+", str "depth")
|
||||
,("T", renderToggle (tree_ ropts) "flat" "tree")
|
||||
,("H", renderToggle (not ishistorical) "end-bals" "changes")
|
||||
,("F", renderToggle1 (isJust $ forecast_ ropts) "forecast")
|
||||
--,("/", "filter")
|
||||
@ -322,11 +323,12 @@ asHandle ui0@UIState{
|
||||
VtyEvent (EvKey (KChar '-') []) -> continue $ regenerateScreens j d $ decDepth ui
|
||||
VtyEvent (EvKey (KChar '_') []) -> continue $ regenerateScreens j d $ decDepth ui
|
||||
VtyEvent (EvKey (KChar c) []) | c `elem` ['+','='] -> continue $ regenerateScreens j d $ incDepth ui
|
||||
VtyEvent (EvKey (KChar 't') []) -> continue $ regenerateScreens j d $ setReportPeriod (DayPeriod d) ui
|
||||
VtyEvent (EvKey (KChar 'T') []) -> continue $ regenerateScreens j d $ setReportPeriod (DayPeriod d) ui
|
||||
|
||||
-- display mode/query toggles
|
||||
VtyEvent (EvKey (KChar 'H') []) -> asCenterAndContinue $ regenerateScreens j d $ toggleHistorical ui
|
||||
VtyEvent (EvKey (KChar 'T') []) -> asCenterAndContinue $ regenerateScreens j d $ toggleTree ui
|
||||
VtyEvent (EvKey (KChar 't') []) -> asCenterAndContinue $ regenerateScreens j d $ setTree ui
|
||||
VtyEvent (EvKey (KChar 'l') []) -> asCenterAndContinue $ regenerateScreens j d $ setList ui
|
||||
VtyEvent (EvKey (KChar 'Z') []) -> asCenterAndContinue $ regenerateScreens j d $ toggleEmpty ui
|
||||
VtyEvent (EvKey (KChar 'R') []) -> asCenterAndContinue $ regenerateScreens j d $ toggleReal ui
|
||||
VtyEvent (EvKey (KChar 'U') []) -> asCenterAndContinue $ regenerateScreens j d $ toggleUnmarked ui
|
||||
|
@ -235,7 +235,12 @@ rsDraw UIState{aopts=_uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}
|
||||
("?", str "help")
|
||||
,("LEFT", str "back")
|
||||
-- ,("RIGHT", str "transaction")
|
||||
,("T", renderToggle (tree_ ropts) "flat(-subs)" "tree(+subs)") -- rsForceInclusive may override, but use tree_ to ensure a visible toggle effect
|
||||
|
||||
-- tree/list mode - rsForceInclusive may override, but use tree_ to ensure a visible toggle effect
|
||||
-- ,("T", renderToggle (tree_ ropts) "flat(-subs)" "tree(+subs)")
|
||||
,("t", str "tree(+subs)")
|
||||
,("l", str "list(-subs)")
|
||||
|
||||
,("H", renderToggle (not ishistorical) "historical" "period")
|
||||
,("F", renderToggle1 (isJust $ forecast_ ropts) "forecast")
|
||||
-- ,("a", "add")
|
||||
@ -316,7 +321,7 @@ rsHandle ui@UIState{
|
||||
VtyEvent (EvKey (KChar 'I') []) -> continue $ uiCheckBalanceAssertions d (toggleIgnoreBalanceAssertions ui)
|
||||
VtyEvent (EvKey (KChar 'a') []) -> suspendAndResume $ clearScreen >> setCursorPosition 0 0 >> add copts j >> uiReloadJournalIfChanged copts d j ui
|
||||
VtyEvent (EvKey (KChar 'A') []) -> suspendAndResume $ void (runIadd (journalFilePath j)) >> uiReloadJournalIfChanged copts d j ui
|
||||
VtyEvent (EvKey (KChar 't') []) -> continue $ regenerateScreens j d $ setReportPeriod (DayPeriod d) ui
|
||||
VtyEvent (EvKey (KChar 'T') []) -> continue $ regenerateScreens j d $ setReportPeriod (DayPeriod d) ui
|
||||
VtyEvent (EvKey (KChar 'E') []) -> suspendAndResume $ void (runEditor pos f) >> uiReloadJournalIfChanged copts d j ui
|
||||
where
|
||||
(pos,f) = case listSelectedElement rsList of
|
||||
@ -330,7 +335,8 @@ rsHandle ui@UIState{
|
||||
VtyEvent (EvKey (KChar 'B') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleCost ui
|
||||
VtyEvent (EvKey (KChar 'V') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleValue ui
|
||||
VtyEvent (EvKey (KChar 'H') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleHistorical ui
|
||||
VtyEvent (EvKey (KChar 'T') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleTree ui
|
||||
VtyEvent (EvKey (KChar 't') []) -> rsCenterAndContinue $ regenerateScreens j d $ setTree ui
|
||||
VtyEvent (EvKey (KChar 'l') []) -> rsCenterAndContinue $ regenerateScreens j d $ setList ui
|
||||
VtyEvent (EvKey (KChar 'Z') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleEmpty ui
|
||||
VtyEvent (EvKey (KChar 'R') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleReal ui
|
||||
VtyEvent (EvKey (KChar 'U') []) -> rsCenterAndContinue $ regenerateScreens j d $ toggleUnmarked ui
|
||||
|
@ -1,6 +1,7 @@
|
||||
{-# LANGUAGE CPP #-}
|
||||
{- | UIState operations. -}
|
||||
|
||||
{-# LANGUAGE CPP #-}
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE RecordWildCards #-}
|
||||
|
||||
@ -135,6 +136,16 @@ valuationToggleValue :: Maybe ValuationType -> Maybe ValuationType
|
||||
valuationToggleValue (Just (AtDefault _)) = Nothing
|
||||
valuationToggleValue _ = Just $ AtDefault Nothing
|
||||
|
||||
-- | Set hierarchic account tree mode.
|
||||
setTree :: UIState -> UIState
|
||||
setTree ui@UIState{aopts=uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}} =
|
||||
ui{aopts=uopts{cliopts_=copts{reportopts_=ropts{accountlistmode_=ALTree}}}}
|
||||
|
||||
-- | Set flat account list mode.
|
||||
setList :: UIState -> UIState
|
||||
setList ui@UIState{aopts=uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}} =
|
||||
ui{aopts=uopts{cliopts_=copts{reportopts_=ropts{accountlistmode_=ALFlat}}}}
|
||||
|
||||
-- | Toggle between flat and tree mode. If current mode is unspecified/default, assume it's flat.
|
||||
toggleTree :: UIState -> UIState
|
||||
toggleTree ui@UIState{aopts=uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}} =
|
||||
|
@ -91,31 +91,31 @@ helpDialog _copts =
|
||||
render $
|
||||
withDefAttr "help" $
|
||||
renderDialog (dialog (Just "Help (?/LEFT/ESC to close)") Nothing (c^.availWidthL)) $ -- (Just (0,[("ok",())]))
|
||||
padTop (Pad 1) $ padLeft (Pad 1) $ padRight (Pad 1) $
|
||||
padTop (Pad 0) $ padLeft (Pad 1) $ padRight (Pad 1) $
|
||||
vBox [
|
||||
hBox [
|
||||
padRight (Pad 1) $
|
||||
vBox [
|
||||
withAttr ("help" <> "heading") $ str "Navigation"
|
||||
,renderKey ("UP/DOWN/PUP/PDN/HOME/END/emacs/vi keys", "")
|
||||
,renderKey ("UP/DOWN/PUP/PDN/HOME/END or C-p/n/f/b", "")
|
||||
,str " move selection"
|
||||
,renderKey ("RIGHT", "show account txns, txn detail")
|
||||
,renderKey ("RIGHT", "show account txns, or txn detail")
|
||||
,renderKey ("LEFT ", "go back")
|
||||
,renderKey ("ESC ", "cancel or reset")
|
||||
,renderKey ("ESC ", "cancel input, or reset")
|
||||
,str " "
|
||||
,withAttr ("help" <> "heading") $ str "Report period"
|
||||
,renderKey ("S-DOWN /S-UP ", "shrink/grow period")
|
||||
,renderKey ("S-RIGHT/S-LEFT", "next/previous period")
|
||||
,renderKey ("t ", "set period to today")
|
||||
,renderKey ("T ", "set period to today")
|
||||
,str " "
|
||||
,withAttr ("help" <> "heading") $ str "Accounts screen"
|
||||
,renderKey ("-+0123456789 ", "set depth limit")
|
||||
,renderKey ("T ", "toggle tree/flat mode")
|
||||
,renderKey ("H ", "historical end balance/period change")
|
||||
,renderKey ("1234567890-+ ", "set/adjust depth limit")
|
||||
,renderKey ("t/l", "set tree/list mode")
|
||||
,renderKey ("H ", "toggle historical balance/change")
|
||||
,str " "
|
||||
,withAttr ("help" <> "heading") $ str "Register screen"
|
||||
,renderKey ("T ", "toggle subaccount txns\n(and accounts screen tree/flat mode)")
|
||||
,renderKey ("H ", "show historical total/period total")
|
||||
,renderKey ("t/l", "show/hide subaccount txns\n(and set accounts tree/list mode)")
|
||||
,renderKey ("H ", "toggle historical/period total")
|
||||
,str " "
|
||||
]
|
||||
,padLeft (Pad 1) $ padRight (Pad 0) $
|
||||
@ -130,8 +130,8 @@ helpDialog _copts =
|
||||
,str " "
|
||||
,withAttr ("help" <> "heading") $ str "Help"
|
||||
,renderKey ("? ", "toggle this help")
|
||||
,renderKey ("p/m/i ", "(with this help open)\nshow manual in pager/man/info")
|
||||
,str " "
|
||||
,renderKey ("p/m/i", "(with this help open)\nshow manual in pager/man/info")
|
||||
-- ,str " " -- need one more line in 80x25
|
||||
,withAttr ("help" <> "heading") $ str "Other"
|
||||
,renderKey ("a ", "add transaction (hledger add)")
|
||||
,renderKey ("A ", "add transaction (hledger-iadd)")
|
||||
@ -341,10 +341,16 @@ scrollSelectionToMiddle list = do
|
||||
_ -> return ()
|
||||
|
||||
-- arrow keys vi keys emacs keys
|
||||
moveUpEvents = [EvKey KUp [] , EvKey (KChar 'k') [], EvKey (KChar 'p') [MCtrl]]
|
||||
moveDownEvents = [EvKey KDown [] , EvKey (KChar 'j') [], EvKey (KChar 'n') [MCtrl]]
|
||||
moveLeftEvents = [EvKey KLeft [] , EvKey (KChar 'h') [], EvKey (KChar 'b') [MCtrl]]
|
||||
moveRightEvents = [EvKey KRight [], EvKey (KChar 'l') [], EvKey (KChar 'f') [MCtrl]]
|
||||
-- moveUpEvents = [EvKey KUp [] , EvKey (KChar 'k') [], EvKey (KChar 'p') [MCtrl]]
|
||||
-- moveDownEvents = [EvKey KDown [] , EvKey (KChar 'j') [], EvKey (KChar 'n') [MCtrl]]
|
||||
-- moveLeftEvents = [EvKey KLeft [] , EvKey (KChar 'h') [], EvKey (KChar 'b') [MCtrl]]
|
||||
-- moveRightEvents = [EvKey KRight [], EvKey (KChar 'l') [], EvKey (KChar 'f') [MCtrl]]
|
||||
|
||||
-- arrow keys emacs keys
|
||||
moveUpEvents = [EvKey KUp [] , EvKey (KChar 'p') [MCtrl]]
|
||||
moveDownEvents = [EvKey KDown [] , EvKey (KChar 'n') [MCtrl]]
|
||||
moveLeftEvents = [EvKey KLeft [] , EvKey (KChar 'b') [MCtrl]]
|
||||
moveRightEvents = [EvKey KRight [], EvKey (KChar 'f') [MCtrl]]
|
||||
|
||||
normaliseMovementKeys ev
|
||||
| ev `elem` moveUpEvents = EvKey KUp []
|
||||
|
@ -69,10 +69,10 @@ Any QUERYARGS are interpreted as a hledger search query which filters the data.
|
||||
`--change`
|
||||
: show period balances (changes) at startup instead of historical balances
|
||||
|
||||
`-F --flat`
|
||||
: show accounts as a list (default)
|
||||
`-l --flat`
|
||||
: show accounts as a flat list (default)
|
||||
|
||||
`-T --tree`
|
||||
`-t --tree`
|
||||
: show accounts as a tree
|
||||
|
||||
hledger input options:
|
||||
@ -87,113 +87,112 @@ hledger help options:
|
||||
|
||||
_helpoptions_
|
||||
|
||||
A @FILE argument will be expanded to the contents of FILE,
|
||||
a @file argument will be expanded to the contents of file,
|
||||
which should contain one command line option/argument per line.
|
||||
(To prevent this, insert a `--` argument before.)
|
||||
(to prevent this, insert a `--` argument before.)
|
||||
|
||||
# KEYS
|
||||
# keys
|
||||
|
||||
`?` shows a help dialog listing all keys.
|
||||
(Some of these also appear in the quick help at the bottom of each screen.)
|
||||
Press `?` again (or `ESCAPE`, or `LEFT`) to close it.
|
||||
The following keys work on most screens:
|
||||
(some of these also appear in the quick help at the bottom of each screen.)
|
||||
press `?` again (or `escape`, or `left`) to close it.
|
||||
the following keys work on most screens:
|
||||
|
||||
The cursor keys navigate:
|
||||
the cursor keys navigate:
|
||||
`right` (or `enter`) goes deeper,
|
||||
`left` returns to the previous screen,
|
||||
`up`/`down`/`page up`/`page down`/`home`/`end` move up and down through lists.
|
||||
Vi-style (`h`/`j`/`k`/`l`) and Emacs-style (`CTRL-p`/`CTRL-n`/`CTRL-f`/`CTRL-b`) movement keys are also supported.
|
||||
Emacs-style (`ctrl-p`/`ctrl-n`/`ctrl-f`/`ctrl-b`) movement keys are also supported
|
||||
(but not vi-style keys, since hledger-1.19, sorry!).
|
||||
A tip: movement speed is limited by your keyboard repeat rate,
|
||||
to move faster you may want to adjust it.
|
||||
(If you're on a mac, the Karabiner app is one way to do that.)
|
||||
(If you're on a mac, the karabiner app is one way to do that.)
|
||||
|
||||
With shift pressed, the cursor keys adjust the report period,
|
||||
with shift pressed, the cursor keys adjust the report period,
|
||||
limiting the transactions to be shown (by default, all are shown).
|
||||
`shift-down/up` steps downward and upward through these standard report period durations:
|
||||
year, quarter, month, week, day.
|
||||
Then, `shift-left/right` moves to the previous/next period.
|
||||
`t` sets the report period to today.
|
||||
With the `--watch` option, when viewing a "current" period
|
||||
then, `shift-left/right` moves to the previous/next period.
|
||||
`T` sets the report period to today.
|
||||
with the `--watch` option, when viewing a "current" period
|
||||
(the current day, week, month, quarter, or year),
|
||||
the period will move automatically to track the current date.
|
||||
To set a non-standard period, you can use `/` and a `date:` query.
|
||||
to set a non-standard period, you can use `/` and a `date:` query.
|
||||
|
||||
`/` lets you set a general filter query limiting the data shown,
|
||||
using the same [query terms](hledger.html#queries) as in hledger and hledger-web.
|
||||
While editing the query, you can use [CTRL-a/e/d/k, BS, cursor keys](http://hackage.haskell.org/package/brick-0.7/docs/Brick-Widgets-Edit.html#t:Editor);
|
||||
press `ENTER` to set it, or `ESCAPE`to cancel.
|
||||
There are also keys for quickly adjusting some common filters like account depth and transaction status (see below).
|
||||
`BACKSPACE` or `DELETE` removes all filters, showing all transactions.
|
||||
while editing the query, you can use [ctrl-a/e/d/k, bs, cursor keys](http://hackage.haskell.org/package/brick-0.7/docs/brick-widgets-edit.html#t:editor);
|
||||
press `enter` to set it, or `escape`to cancel.
|
||||
there are also keys for quickly adjusting some common filters like account depth and transaction status (see below).
|
||||
`backspace` or `delete` removes all filters, showing all transactions.
|
||||
|
||||
As mentioned above, by default hledger-ui hides future transactions -
|
||||
as mentioned above, by default hledger-ui hides future transactions -
|
||||
both ordinary transactions recorded in the journal, and periodic
|
||||
transactions generated by rule. `F` toggles forecast mode, in which
|
||||
future/forecasted transactions are shown. (experimental)
|
||||
transactions generated by rule. `f` toggles forecast mode, in which
|
||||
future/forecasted transactions are shown. *(experimental)*
|
||||
|
||||
`ESCAPE` removes all filters and jumps back to the top screen.
|
||||
Or, it cancels a minibuffer edit or help dialog in progress.
|
||||
`escape` removes all filters and jumps back to the top screen.
|
||||
or, it cancels a minibuffer edit or help dialog in progress.
|
||||
|
||||
`CTRL-l` redraws the screen and centers the selection if possible
|
||||
`ctrl-l` redraws the screen and centers the selection if possible
|
||||
(selections near the top won't be centered, since we don't scroll above the top).
|
||||
|
||||
`g` reloads from the data file(s) and updates the current screen and any
|
||||
previous screens. (With large files, this could cause a noticeable pause.)
|
||||
previous screens. (with large files, this could cause a noticeable pause.)
|
||||
|
||||
`I` toggles balance assertion checking.
|
||||
Disabling balance assertions temporarily can be useful for troubleshooting.
|
||||
`i` toggles balance assertion checking.
|
||||
disabling balance assertions temporarily can be useful for troubleshooting.
|
||||
|
||||
`a` runs command-line hledger's add command, and reloads the updated file.
|
||||
This allows some basic data entry.
|
||||
this allows some basic data entry.
|
||||
|
||||
`A` is like `a`, but runs the [hledger-iadd](http://hackage.haskell.org/package/hledger-iadd) tool,
|
||||
`a` is like `a`, but runs the [hledger-iadd](http://hackage.haskell.org/package/hledger-iadd) tool,
|
||||
which provides a terminal interface.
|
||||
This key will be available if `hledger-iadd` is installed in $PATH.
|
||||
this key will be available if `hledger-iadd` is installed in $path.
|
||||
|
||||
`E` runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (`emacsclient -a "" -nw`) on the journal file.
|
||||
With some editors (emacs, vi), the cursor will be positioned at the current transaction
|
||||
`e` runs $hledger_ui_editor, or $editor, or a default (`emacsclient -a "" -nw`) on the journal file.
|
||||
with some editors (emacs, vi), the cursor will be positioned at the current transaction
|
||||
when invoked from the register and transaction screens, and at the error location (if possible)
|
||||
when invoked from the error screen.
|
||||
|
||||
`q` quits the application.
|
||||
|
||||
Experimental:
|
||||
|
||||
`B` toggles cost mode, showing amounts in their transaction price's
|
||||
`b` toggles cost mode, showing amounts in their transaction price's
|
||||
commodity (like toggling the
|
||||
[`-B/--cost`](https://hledger.org/hledger.html#b-cost) flag).
|
||||
[`-b/--cost`](https://hledger.org/hledger.html#b-cost) flag).
|
||||
|
||||
`V` toggles value mode, showing amounts' current market value in their
|
||||
`v` toggles value mode, showing amounts' current market value in their
|
||||
default valuation commodity (like toggling the
|
||||
[`-V/--market`](https://hledger.org/hledger.html#v-market-value) flag).
|
||||
Note, "current market value" means the value on the report end date if specified, otherwise today.
|
||||
To see the value on another date, you can temporarily set that as the report end date.
|
||||
Eg: to see a transaction as it was valued on july 30,
|
||||
[`-v/--market`](https://hledger.org/hledger.html#v-market-value) flag).
|
||||
note, "current market value" means the value on the report end date if specified, otherwise today.
|
||||
to see the value on another date, you can temporarily set that as the report end date.
|
||||
eg: to see a transaction as it was valued on july 30,
|
||||
go to the accounts or register screen,
|
||||
press `/`,
|
||||
and add ` date:-7/30` to the query.
|
||||
|
||||
At most one of cost or value mode can be active at once.
|
||||
at most one of cost or value mode can be active at once.
|
||||
|
||||
There's not yet any visual reminder when cost or value mode is active;
|
||||
for now pressing `B` `B` `V` should reliably reset to normal mode.
|
||||
there's not yet any visual reminder when cost or value mode is active;
|
||||
for now pressing `b` `b` `v` should reliably reset to normal mode.
|
||||
|
||||
With --watch active, if you save an edit to the journal file
|
||||
with --watch active, if you save an edit to the journal file
|
||||
while viewing the transaction screen in cost or value mode,
|
||||
the `B`/`V` keys will stop working.
|
||||
To work around, press g to force a manual reload, or exit the transaction screen.
|
||||
the `b`/`v` keys will stop working.
|
||||
to work around, press g to force a manual reload, or exit the transaction screen.
|
||||
|
||||
Additional screen-specific keys are described below.
|
||||
`q` quits the application.
|
||||
|
||||
# SCREENS
|
||||
additional screen-specific keys are described below.
|
||||
|
||||
## Accounts screen
|
||||
# screens
|
||||
|
||||
This is normally the first screen displayed.
|
||||
It lists accounts and their balances, like hledger's balance command.
|
||||
By default, it shows all accounts and their latest ending balances (including the balances of subaccounts).
|
||||
## accounts screen
|
||||
|
||||
this is normally the first screen displayed.
|
||||
it lists accounts and their balances, like hledger's balance command.
|
||||
by default, it shows all accounts and their latest ending balances (including the balances of subaccounts).
|
||||
if you specify a query on the command line, it shows just the matched accounts and the balances from matched transactions.
|
||||
|
||||
Account names are shown as a flat list by default. Press `T` to toggle tree mode.
|
||||
Press `t` or `l` to show accounts as a tree or flat list (the default).
|
||||
In flat mode, account balances are exclusive of subaccounts, except where subaccounts are hidden by a depth limit (see below).
|
||||
In tree mode, all account balances are inclusive of subaccounts.
|
||||
|
||||
@ -249,7 +248,7 @@ Transactions affecting this account's subaccounts will be included in the regist
|
||||
if the accounts screen is in tree mode,
|
||||
or if it's in flat mode but this account has subaccounts which are not shown due to a depth limit.
|
||||
In other words, the register always shows the transactions contributing to the balance shown on the accounts screen.
|
||||
Tree mode/flat mode can be toggled with `T` here also.
|
||||
Tree mode or flat mode can be selected with `t`or `l` here also.
|
||||
|
||||
`U` toggles filtering by [unmarked status](journal.html#status), showing or hiding unmarked transactions.
|
||||
Similarly, `P` toggles pending transactions, and `C` toggles cleared transactions.
|
||||
|
@ -209,7 +209,7 @@ flattreeflags showamounthelp = [
|
||||
("show accounts as a flat list (default)"
|
||||
++ if showamounthelp then ". Amounts exclude subaccount amounts, except where the account is depth-clipped." else "")
|
||||
,flagNone ["tree","t"] (setboolopt "tree")
|
||||
("show accounts as a hierarchic tree" ++ if showamounthelp then ". Amounts include subaccount amounts." else "")
|
||||
("show accounts as a tree" ++ if showamounthelp then ". Amounts include subaccount amounts." else "")
|
||||
]
|
||||
|
||||
-- | Common flags that are accepted but not shown in --help,
|
||||
|
Loading…
Reference in New Issue
Block a user