summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES12
-rw-r--r--Hledger/UI/AccountsScreen.hs8
-rw-r--r--Hledger/UI/Main.hs13
-rw-r--r--Hledger/UI/UIUtils.hs24
-rw-r--r--hledger-ui.1 (renamed from doc/hledger-ui.1)69
-rw-r--r--hledger-ui.cabal53
-rw-r--r--hledger-ui.info (renamed from doc/hledger-ui.1.info)63
-rw-r--r--hledger-ui.txt (renamed from doc/hledger-ui.1.txt)184
8 files changed, 235 insertions, 191 deletions
diff --git a/CHANGES b/CHANGES
index 882b641..2ff2e1c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,13 @@
-User-visible changes in hledger-ui.
-See also the hledger and project change logs.
+User-visible changes in hledger-ui. See also hledger, hledger-lib.
+
+
+# 1.5 (2017/12/31)
+
+* fix help -> view manual (on posix platforms) #623
+
+* support -V/--value, --forecast, --auto
+
+* remove upper bounds on all but hledger* and base (experimental)
# 1.4 (2017/9/30)
diff --git a/Hledger/UI/AccountsScreen.hs b/Hledger/UI/AccountsScreen.hs
index f1ee2d1..4e293f6 100644
--- a/Hledger/UI/AccountsScreen.hs
+++ b/Hledger/UI/AccountsScreen.hs
@@ -82,14 +82,8 @@ asInit d reset ui@UIState{
q = queryFromOpts d ropts
- -- maybe convert balances to market value
- convert | value_ ropts' = balanceReportValue j valuedate
- | otherwise = id
- where
- valuedate = fromMaybe d $ queryEndDate False q
-
-- run the report
- (items,_total) = convert $ report ropts' q j
+ (items,_total) = report ropts' q j
where
-- still using the old balanceReport for change reports as it
-- does not include every account from before the report period
diff --git a/Hledger/UI/Main.hs b/Hledger/UI/Main.hs
index 1f43f66..72038d2 100644
--- a/Hledger/UI/Main.hs
+++ b/Hledger/UI/Main.hs
@@ -71,15 +71,18 @@ main = do
| "binary-filename" `inRawOpts` (rawopts_ $ cliopts_ opts) = putStrLn (binaryfilename progname)
| otherwise = withJournalDoUICommand opts runBrickUi
--- XXX withJournalDo specialised for UIOpts
+-- TODO fix nasty duplication of withJournalDo
withJournalDoUICommand :: UIOpts -> (UIOpts -> Journal -> IO ()) -> IO ()
withJournalDoUICommand uopts@UIOpts{cliopts_=copts} cmd = do
journalpath <- journalFilePathFromOpts copts
ej <- readJournalFilesWithOpts (inputopts_ copts) journalpath
- let fn = cmd uopts .
- pivotByOpts copts .
- anonymiseByOpts copts .
- journalApplyAliases (aliasesFromOpts copts)
+ let fn = cmd uopts
+ . pivotByOpts copts
+ . anonymiseByOpts copts
+ . journalApplyAliases (aliasesFromOpts copts)
+ <=< journalApplyValue (reportopts_ copts)
+ <=< journalAddForecast copts
+ . generateAutomaticPostings (reportopts_ copts)
either error' fn ej
runBrickUi :: UIOpts -> Journal -> IO ()
diff --git a/Hledger/UI/UIUtils.hs b/Hledger/UI/UIUtils.hs
index 525f3a6..a33ad73 100644
--- a/Hledger/UI/UIUtils.hs
+++ b/Hledger/UI/UIUtils.hs
@@ -13,23 +13,21 @@ import Brick.Widgets.Border.Style
import Brick.Widgets.Dialog
import Brick.Widgets.Edit
import Brick.Widgets.List
+import Control.Monad.IO.Class
import Data.List
import Data.Maybe
import Data.Monoid
import Graphics.Vty (Event(..),Key(..),Modifier(..),Color,Attr,currentAttr)
import Lens.Micro.Platform
-import System.Process
+import System.Environment
import Hledger hiding (Color)
import Hledger.Cli (CliOpts(rawopts_))
+import Hledger.Cli.DocFiles
import Hledger.UI.UITypes
import Hledger.UI.UIState
-runInfo = runCommand "hledger-ui --info" >>= waitForProcess
-runMan = runCommand "hledger-ui --man" >>= waitForProcess
-runHelp = runCommand "hledger-ui --help | less" >>= waitForProcess
-
-- ui
-- | Draw the help dialog, called when help mode is active.
@@ -63,9 +61,9 @@ helpDialog copts =
,renderKey ("q", "quit")
,str " "
,str "MANUAL"
- ,str "from help dialog:"
- ,renderKey ("t", "text")
- ,renderKey ("m", "man page")
+ ,str "choose format:"
+ ,renderKey ("p", "pager")
+ ,renderKey ("m", "man")
,renderKey ("i", "info")
]
,padLeftRight 1 $
@@ -124,13 +122,15 @@ helpDialog copts =
statusstyle = min 3 $ fromMaybe 1 $ maybeintopt "status-toggles" $ rawopts_ copts
-- | Event handler used when help mode is active.
+-- May invoke $PAGER, less, man or info, which is likely to fail on MS Windows, TODO.
helpHandle :: UIState -> BrickEvent Name AppEvent -> EventM Name (Next UIState)
-helpHandle ui ev =
+helpHandle ui ev = do
+ pagerprog <- liftIO $ fromMaybe "less" <$> lookupEnv "PAGER"
case ev of
VtyEvent e | e `elem` (moveLeftEvents ++ [EvKey KEsc [], EvKey (KChar '?') []]) -> continue $ setMode Normal ui
- VtyEvent (EvKey (KChar 't') []) -> suspendAndResume $ runHelp >> return ui'
- VtyEvent (EvKey (KChar 'm') []) -> suspendAndResume $ runMan >> return ui'
- VtyEvent (EvKey (KChar 'i') []) -> suspendAndResume $ runInfo >> return ui'
+ VtyEvent (EvKey (KChar 'p') []) -> suspendAndResume $ runPagerForTopic pagerprog "hledger-ui" >> return ui'
+ VtyEvent (EvKey (KChar 'm') []) -> suspendAndResume $ runManForTopic "hledger-ui" >> return ui'
+ VtyEvent (EvKey (KChar 'i') []) -> suspendAndResume $ runInfoForTopic "hledger-ui" >> return ui'
_ -> continue ui
where
ui' = setMode Normal ui
diff --git a/doc/hledger-ui.1 b/hledger-ui.1
index df44699..d94244e 100644
--- a/doc/hledger-ui.1
+++ b/hledger-ui.1
@@ -1,5 +1,5 @@
-.TH "hledger\-ui" "1" "September 2017" "hledger\-ui 1.4" "hledger User Manuals"
+.TH "hledger\-ui" "1" "December 2017" "hledger\-ui 1.5" "hledger User Manuals"
@@ -20,10 +20,10 @@ other commodity, using double\-entry accounting and a simple, editable
file format.
hledger is inspired by and largely compatible with ledger(1).
.PP
-hledger\-ui is hledger\[aq]s curses\-style interface, providing an
-efficient full\-window text UI for viewing accounts and transactions,
-and some limited data entry capability.
-It is easier than hledger\[aq]s command\-line interface, and sometimes
+hledger\-ui is hledger's curses\-style interface, providing an efficient
+full\-window text UI for viewing accounts and transactions, and some
+limited data entry capability.
+It is easier than hledger's command\-line interface, and sometimes
quicker and more convenient than the web interface.
.PP
Like hledger, it reads data from one or more files in hledger journal,
@@ -50,7 +50,7 @@ use this custom display theme
.RE
.TP
.B \f[C]\-\-register=ACCTREGEX\f[]
-start in the (first) matched account\[aq]s register screen
+start in the (first) matched account's register screen
.RS
.RE
.TP
@@ -136,8 +136,8 @@ multiperiod/multicolumn report by year
.RE
.TP
.B \f[C]\-p\ \-\-period=PERIODEXP\f[]
-set start date, end date, and/or reporting interval all at once
-(overrides the flags above)
+set start date, end date, and/or reporting interval all at once using
+period expressions syntax (overrides the flags above)
.RS
.RE
.TP
@@ -187,6 +187,17 @@ convert amounts to their market value on the report end date (using the
most recent applicable market price, if any)
.RS
.RE
+.TP
+.B \f[C]\-\-auto\f[]
+apply automated posting rules to modify transactions.
+.RS
+.RE
+.TP
+.B \f[C]\-\-forecast\f[]
+apply periodic transaction rules to generate future transactions, to 6
+months from now or report end date.
+.RS
+.RE
.PP
When a reporting option appears more than once in the command line, the
last one takes precedence.
@@ -230,7 +241,7 @@ Vi\-style (\f[C]h\f[]/\f[C]j\f[]/\f[C]k\f[]/\f[C]l\f[]) and Emacs\-style
movement keys are also supported.
A tip: movement speed is limited by your keyboard repeat rate, to move
faster you may want to adjust it.
-(If you\[aq]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.)
.PP
With shift pressed, the cursor keys adjust the report period, limiting
the transactions to be shown (by default, all are shown).
@@ -238,9 +249,9 @@ the transactions to be shown (by default, all are shown).
report period durations: year, quarter, month, week, day.
Then, \f[C]shift\-left/right\f[] moves to the previous/next period.
\f[C]t\f[] sets the report period to today.
-With the \f[C]\-\-watch\f[] option, when viewing a "current" period (the
-current day, week, month, quarter, or year), the period will move
-automatically to track the current date.
+With the \f[C]\-\-watch\f[] option, when viewing a \[lq]current\[rq]
+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 \f[C]/\f[] and a
\f[C]date:\f[] query.
.PP
@@ -257,8 +268,8 @@ transactions.
Or, it cancels a minibuffer edit or help dialog in progress.
.PP
\f[C]CTRL\-l\f[] redraws the screen and centers the selection if
-possible (selections near the top won\[aq]t be centered, since we
-don\[aq]t scroll above the top).
+possible (selections near the top won't be centered, since we don't
+scroll above the top).
.PP
\f[C]g\f[] reloads from the data file(s) and updates the current screen
and any previous screens.
@@ -268,10 +279,15 @@ and any previous screens.
Disabling balance assertions temporarily can be useful for
troubleshooting.
.PP
-\f[C]a\f[] runs command\-line hledger\[aq]s add command, and reloads the
+\f[C]a\f[] runs command\-line hledger's add command, and reloads the
updated file.
This allows some basic data entry.
.PP
+\f[C]A\f[] is like \f[C]a\f[], but runs the hledger\-iadd tool, which
+provides a curses\-style interface.
+This key will be available if \f[C]hledger\-iadd\f[] is installed in
+$PATH.
+.PP
\f[C]E\f[] runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default
(\f[C]emacsclient\ \-a\ ""\ \-nw\f[]) on the journal file.
With some editors (emacs, vi), the cursor will be positioned at the
@@ -286,8 +302,7 @@ Additional screen\-specific keys are described below.
.SS Accounts screen
.PP
This is normally the first screen displayed.
-It lists accounts and their balances, like hledger\[aq]s balance
-command.
+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
@@ -306,7 +321,7 @@ or press \f[C]ESCAPE\f[].
\f[C]F\f[] toggles flat mode, in which accounts are shown as a flat
list, with their full names.
In this mode, account balances exclude subaccounts, except for accounts
-at the depth limit (as with hledger\[aq]s balance command).
+at the depth limit (as with hledger's balance command).
.PP
\f[C]H\f[] toggles between showing historical balances or period
balances.
@@ -334,8 +349,8 @@ all three, the filter is removed.)
balances are shown (hledger\-ui shows zero items by default, unlike
command\-line hledger).
.PP
-Press \f[C]right\f[] or \f[C]enter\f[] to view an account\[aq]s
-transactions register.
+Press \f[C]right\f[] or \f[C]enter\f[] to view an account's transactions
+register.
.SS Register screen
.PP
This screen shows the transactions affecting a particular account, like
@@ -346,7 +361,7 @@ the other account(s) involved, in abbreviated form.
(If there are both real and virtual postings, it shows only the accounts
affected by real postings.)
.IP \[bu] 2
-the overall change to the current account\[aq]s balance; positive for an
+the overall change to the current account's balance; positive for an
inflow to this account, negative for an outflow.
.IP \[bu] 2
the running historical total or period total for the current account,
@@ -387,10 +402,10 @@ transaction in detail.
.SS Transaction screen
.PP
This screen shows a single transaction, as a general journal entry,
-similar to hledger\[aq]s print command and journal format
+similar to hledger's print command and journal format
(hledger_journal(5)).
.PP
-The transaction\[aq]s date(s) and any cleared flag, transaction code,
+The transaction's date(s) and any cleared flag, transaction code,
description, comments, along with all of its account postings are shown.
Simple transactions have two postings, but there can be more (or in
certain cases, fewer).
@@ -401,9 +416,9 @@ In the title bar, the numbers in parentheses show your position within
that account register.
They will vary depending on which account register you came from
(remember most transactions appear in multiple account registers).
-The #N number preceding them is the transaction\[aq]s position within
-the complete unfiltered journal, which is a more stable id (at least
-until the next reload).
+The #N number preceding them is the transaction's position within the
+complete unfiltered journal, which is a more stable id (at least until
+the next reload).
.SS Error screen
.PP
This screen will appear if there is a problem, such as a parse error,
@@ -431,7 +446,7 @@ perhaps \f[C]C:/Users/USER/.hledger.journal\f[]).
The need to precede options with \f[C]\-\-\f[] when invoked from hledger
is awkward.
.PP
-\f[C]\-f\-\f[] doesn\[aq]t work (hledger\-ui can\[aq]t read from stdin).
+\f[C]\-f\-\f[] doesn't work (hledger\-ui can't read from stdin).
.PP
\f[C]\-V\f[] affects only the accounts screen.
.PP
diff --git a/hledger-ui.cabal b/hledger-ui.cabal
index 1ddfdc1..ec3e338 100644
--- a/hledger-ui.cabal
+++ b/hledger-ui.cabal
@@ -1,9 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.17.1.
+-- This file has been generated from package.yaml by hpack version 0.20.0.
--
-- see: https://github.com/sol/hpack
+--
+-- hash: 0415bc39f4fbc4cec62ff37e03c0ff513b23cd4825310c799a42177cd9245f1e
name: hledger-ui
-version: 1.4
+version: 1.5
synopsis: Curses-style user interface for the hledger accounting tool
description: This is hledger's curses-style interface.
It is simpler and more convenient for browsing data than the command-line interface,
@@ -32,9 +34,9 @@ extra-source-files:
README
data-files:
- doc/hledger-ui.1
- doc/hledger-ui.1.info
- doc/hledger-ui.1.txt
+ hledger-ui.1
+ hledger-ui.info
+ hledger-ui.txt
source-repository head
type: git
@@ -50,39 +52,39 @@ executable hledger-ui
hs-source-dirs:
./.
ghc-options: -Wall -fno-warn-unused-do-bind -fno-warn-name-shadowing -fno-warn-missing-signatures -fno-warn-type-defaults -fno-warn-orphans
- cpp-options: -DVERSION="1.4"
+ cpp-options: -DVERSION="1.5"
build-depends:
- hledger >= 1.4 && < 1.5
- , hledger-lib >= 1.4 && < 1.5
- , ansi-terminal >= 0.6.2.3 && < 0.8
+ HUnit
+ , ansi-terminal >=0.6.2.3
, async
- , base >= 4.8 && < 5
- , base-compat >= 0.8.1
- , cmdargs >= 0.8
+ , base >=4.8 && <5
+ , base-compat >=0.8.1
+ , cmdargs >=0.8
, containers
, data-default
, directory
, filepath
- , fsnotify >= 0.2 && < 0.3
- , HUnit
- , microlens >= 0.4 && < 0.5
- , microlens-platform >= 0.2.3.1 && < 0.4
- , megaparsec >=5.0 && < 6.2
+ , fsnotify >=0.2
+ , hledger >=1.5 && <1.6
+ , hledger-lib >=1.5 && <1.6
+ , megaparsec >=5.0
+ , microlens >=0.4
+ , microlens-platform >=0.2.3.1
, pretty-show >=1.6.4
- , process >= 1.2
- , safe >= 0.2
- , split >= 0.1 && < 0.3
- , text >= 1.2 && < 1.3
- , text-zipper >= 0.4 && < 0.11
- , time >= 1.5
+ , process >=1.2
+ , safe >=0.2
+ , split >=0.1
+ , text >=1.2
+ , text-zipper >=0.4
+ , time >=1.5
, transformers
, vector
if os(windows)
buildable: False
else
build-depends:
- brick >= 0.12 && < 0.25
- , vty >= 5.5 && < 5.18
+ brick >=0.12
+ , vty >=5.5
if flag(threaded)
ghc-options: -threaded
other-modules:
@@ -98,4 +100,5 @@ executable hledger-ui
Hledger.UI.UIState
Hledger.UI.UITypes
Hledger.UI.UIUtils
+ Paths_hledger_ui
default-language: Haskell2010
diff --git a/doc/hledger-ui.1.info b/hledger-ui.info
index e9b2fd1..4a0927f 100644
--- a/doc/hledger-ui.1.info
+++ b/hledger-ui.info
@@ -1,9 +1,9 @@
-This is hledger-ui.1.info, produced by makeinfo version 6.0 from stdin.
+This is hledger-ui.info, produced by makeinfo version 6.5 from stdin.

-File: hledger-ui.1.info, Node: Top, Next: OPTIONS, Up: (dir)
+File: hledger-ui.info, Node: Top, Next: OPTIONS, Up: (dir)
-hledger-ui(1) hledger-ui 1.4
+hledger-ui(1) hledger-ui 1.5
****************************
hledger-ui is hledger's curses-style interface, providing an efficient
@@ -24,7 +24,7 @@ hledger_journal(5) etc.
* SCREENS::

-File: hledger-ui.1.info, Node: OPTIONS, Next: KEYS, Prev: Top, Up: Top
+File: hledger-ui.info, Node: OPTIONS, Next: KEYS, Prev: Top, Up: Top
1 OPTIONS
*********
@@ -100,7 +100,7 @@ the data.
'-p --period=PERIODEXP'
set start date, end date, and/or reporting interval all at once
- (overrides the flags above)
+ using period expressions syntax (overrides the flags above)
'--date2'
match the secondary date instead (see command help for other
@@ -131,6 +131,13 @@ the data.
convert amounts to their market value on the report end date (using
the most recent applicable market price, if any)
+'--auto'
+
+ apply automated posting rules to modify transactions.
+'--forecast'
+
+ apply periodic transaction rules to generate future transactions,
+ to 6 months from now or report end date.
When a reporting option appears more than once in the command line,
the last one takes precedence.
@@ -154,7 +161,7 @@ should contain one command line option/argument per line. (To prevent
this, insert a '--' argument before.)

-File: hledger-ui.1.info, Node: KEYS, Next: SCREENS, Prev: OPTIONS, Up: Top
+File: hledger-ui.info, Node: KEYS, Next: SCREENS, Prev: OPTIONS, Up: Top
2 KEYS
******
@@ -207,6 +214,10 @@ 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.
+ 'A' is like 'a', but runs the hledger-iadd tool, which provides a
+curses-style interface. 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 when invoked from
@@ -218,7 +229,7 @@ possible) when invoked from the error screen.
Additional screen-specific keys are described below.

-File: hledger-ui.1.info, Node: SCREENS, Prev: KEYS, Up: Top
+File: hledger-ui.info, Node: SCREENS, Prev: KEYS, Up: Top
3 SCREENS
*********
@@ -231,7 +242,7 @@ File: hledger-ui.1.info, Node: SCREENS, Prev: KEYS, Up: Top
* Error screen::

-File: hledger-ui.1.info, Node: Accounts screen, Next: Register screen, Up: SCREENS
+File: hledger-ui.info, Node: Accounts screen, Next: Register screen, Up: SCREENS
3.1 Accounts screen
===================
@@ -280,7 +291,7 @@ command-line hledger).
Press 'right' or 'enter' to view an account's transactions register.

-File: hledger-ui.1.info, Node: Register screen, Next: Transaction screen, Prev: Accounts screen, Up: SCREENS
+File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: Accounts screen, Up: SCREENS
3.2 Register screen
===================
@@ -328,7 +339,7 @@ command-line hledger).
detail.

-File: hledger-ui.1.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: SCREENS
+File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: SCREENS
3.3 Transaction screen
======================
@@ -352,7 +363,7 @@ unfiltered journal, which is a more stable id (at least until the next
reload).

-File: hledger-ui.1.info, Node: Error screen, Prev: Transaction screen, Up: SCREENS
+File: hledger-ui.info, Node: Error screen, Prev: Transaction screen, Up: SCREENS
3.4 Error screen
================
@@ -364,20 +375,20 @@ to cancel the reload attempt.)

Tag Table:
-Node: Top73
-Node: OPTIONS825
-Ref: #options924
-Node: KEYS3861
-Ref: #keys3958
-Node: SCREENS6754
-Ref: #screens6841
-Node: Accounts screen6931
-Ref: #accounts-screen7061
-Node: Register screen9291
-Ref: #register-screen9448
-Node: Transaction screen11522
-Ref: #transaction-screen11682
-Node: Error screen12552
-Ref: #error-screen12676
+Node: Top71
+Node: OPTIONS821
+Ref: #options918
+Node: KEYS4087
+Ref: #keys4182
+Node: SCREENS7141
+Ref: #screens7226
+Node: Accounts screen7316
+Ref: #accounts-screen7444
+Node: Register screen9674
+Ref: #register-screen9829
+Node: Transaction screen11903
+Ref: #transaction-screen12061
+Node: Error screen12931
+Ref: #error-screen13053

End Tag Table
diff --git a/doc/hledger-ui.1.txt b/hledger-ui.txt
index e1385ac..19559eb 100644
--- a/doc/hledger-ui.1.txt
+++ b/hledger-ui.txt
@@ -96,7 +96,7 @@ OPTIONS
-p --period=PERIODEXP
set start date, end date, and/or reporting interval all at once
- (overrides the flags above)
+ using period expressions syntax (overrides the flags above)
--date2
match the secondary date instead (see command help for other
@@ -128,6 +128,12 @@ OPTIONS
convert amounts to their market value on the report end date
(using the most recent applicable market price, if any)
+ --auto apply automated posting rules to modify transactions.
+
+ --forecast
+ apply periodic transaction rules to generate future transac-
+ tions, to 6 months from now or report end date.
+
When a reporting option appears more than once in the command line, the
last one takes precedence.
@@ -145,60 +151,64 @@ OPTIONS
show debug output (levels 1-9, default: 1)
A @FILE argument will be expanded to the contents of FILE, which should
- contain one command line option/argument per line. (To prevent this,
+ contain one command line option/argument per line. (To prevent this,
insert a -- argument before.)
KEYS
- ? shows a help dialog listing all keys. (Some of these also appear in
+ ? 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:
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
+ 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. 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
+ 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.)
- 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
+ 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 (the current day, week, month, quarter, or year), the period
- will move automatically to track the current date. To set a non-stan-
+ 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-stan-
dard period, you can use / and a date: query.
- / lets you set a general filter query limiting the data shown, using
- the same query terms as in hledger and hledger-web. While editing the
- query, you can use CTRL-a/e/d/k, BS, cursor keys; press ENTER to set
+ / lets you set a general filter query limiting the data shown, using
+ the same query terms as in hledger and hledger-web. While editing the
+ query, you can use CTRL-a/e/d/k, BS, cursor keys; press ENTER to set
it, or ESCAPEto cancel. There are also keys for quickly adjusting some
- common filters like account depth and transaction status (see below).
+ common filters like account depth and transaction status (see below).
BACKSPACE or DELETE removes all filters, showing all transactions.
- ESCAPE removes all filters and jumps back to the top screen. Or, it
+ 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 (selec-
- tions near the top won't be centered, since we don't scroll above the
+ tions 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
+ 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.)
- I toggles balance assertion checking. Disabling balance assertions
+ 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
+ a runs command-line hledger's add command, and reloads the updated
file. This allows some basic data entry.
- E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emac-
+ A is like a, but runs the hledger-iadd tool, which provides a
+ curses-style interface. This key will be available if hledger-iadd is
+ installed in $PATH.
+
+ E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emac-
sclient -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
+ 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.
@@ -207,44 +217,44 @@ KEYS
SCREENS
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
+ 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 normally indented to show the hierarchy (tree mode).
+ Account names are normally indented to show the hierarchy (tree mode).
To see less detail, set a depth limit by pressing a number key, 1 to 9.
0 shows even less detail, collapsing all accounts to a single total. -
- and + (or =) decrease and increase the depth limit. To remove the
- depth limit, set it higher than the maximum account depth, or press
+ and + (or =) decrease and increase the depth limit. To remove the
+ depth limit, set it higher than the maximum account depth, or press
ESCAPE.
- F toggles flat mode, in which accounts are shown as a flat list, with
- their full names. In this mode, account balances exclude subaccounts,
- except for accounts at the depth limit (as with hledger's balance com-
+ F toggles flat mode, in which accounts are shown as a flat list, with
+ their full names. In this mode, account balances exclude subaccounts,
+ except for accounts at the depth limit (as with hledger's balance com-
mand).
H toggles between showing historical balances or period balances. His-
- torical balances (the default) are ending balances at the end of the
- report period, taking into account all transactions before that date
- (filtered by the filter query if any), including transactions before
- the start of the report period. In other words, historical balances
- are what you would see on a bank statement for that account (unless
- disturbed by a filter query). Period balances ignore transactions
+ torical balances (the default) are ending balances at the end of the
+ report period, taking into account all transactions before that date
+ (filtered by the filter query if any), including transactions before
+ the start of the report period. In other words, historical balances
+ are what you would see on a bank statement for that account (unless
+ disturbed by a filter query). Period balances ignore transactions
before the report start date, so they show the change in balance during
the report period. They are more useful eg when viewing a time log.
U toggles filtering by unmarked status, including or excluding unmarked
postings in the balances. Similarly, P toggles pending postings, and C
- toggles cleared postings. (By default, balances include all postings;
- if you activate one or two status filters, only those postings are
+ toggles cleared postings. (By default, balances include all postings;
+ if you activate one or two status filters, only those postings are
included; and if you activate all three, the filter is removed.)
R toggles real mode, in which virtual postings are ignored.
- Z toggles nonzero mode, in which only accounts with nonzero balances
- are shown (hledger-ui shows zero items by default, unlike command-line
+ Z toggles nonzero mode, in which only accounts with nonzero balances
+ are shown (hledger-ui shows zero items by default, unlike command-line
hledger).
Press right or enter to view an account's transactions register.
@@ -253,65 +263,65 @@ SCREENS
This screen shows the transactions affecting a particular account, like
a check register. Each line represents one transaction and shows:
- o the other account(s) involved, in abbreviated form. (If there are
- both real and virtual postings, it shows only the accounts affected
+ o the other account(s) involved, in abbreviated form. (If there are
+ both real and virtual postings, it shows only the accounts affected
by real postings.)
- o the overall change to the current account's balance; positive for an
+ o the overall change to the current account's balance; positive for an
inflow to this account, negative for an outflow.
o the running historical total or period total for the current account,
- after the transaction. This can be toggled with H. Similar to the
- accounts screen, the historical total is affected by transactions
- (filtered by the filter query) before the report start date, while
+ after the transaction. This can be toggled with H. Similar to the
+ accounts screen, the historical total is affected by transactions
+ (filtered by the filter query) before the report start date, while
the period total is not. If the historical total is not disturbed by
- a filter query, it will be the running historical balance you would
+ a filter query, it will be the running historical balance you would
see on a bank register for the current account.
- If the accounts screen was in tree mode, the register screen will
+ If the accounts screen was in tree mode, the register screen will
include transactions from both the current account and its subaccounts.
- If the accounts screen was in flat mode, and a non-depth-clipped
- account was selected, the register screen will exclude transactions
+ If the accounts screen was in flat mode, and a non-depth-clipped
+ account was selected, the register screen will exclude transactions
from subaccounts. In other words, the register always shows the trans-
- actions responsible for the period balance shown on the accounts
+ actions responsible for the period balance shown on the accounts
screen. As on the accounts screen, this can be toggled with F.
- U toggles filtering by unmarked status, showing or hiding unmarked
+ U toggles filtering by unmarked status, showing or hiding unmarked
transactions. Similarly, P toggles pending transactions, and C toggles
- cleared transactions. (By default, transactions with all statuses are
- shown; if you activate one or two status filters, only those transac-
- tions are shown; and if you activate all three, the filter is
+ cleared transactions. (By default, transactions with all statuses are
+ shown; if you activate one or two status filters, only those transac-
+ tions are shown; and if you activate all three, the filter is
removed.)q
R toggles real mode, in which virtual postings are ignored.
- Z toggles nonzero mode, in which only transactions posting a nonzero
- change are shown (hledger-ui shows zero items by default, unlike com-
+ Z toggles nonzero mode, in which only transactions posting a nonzero
+ change are shown (hledger-ui shows zero items by default, unlike com-
mand-line hledger).
Press right (or enter) to view the selected transaction in detail.
Transaction screen
- This screen shows a single transaction, as a general journal entry,
- similar to hledger's print command and journal format (hledger_jour-
+ This screen shows a single transaction, as a general journal entry,
+ similar to hledger's print command and journal format (hledger_jour-
nal(5)).
- The transaction's date(s) and any cleared flag, transaction code,
- description, comments, along with all of its account postings are
- shown. Simple transactions have two postings, but there can be more
+ The transaction's date(s) and any cleared flag, transaction code,
+ description, comments, along with all of its account postings are
+ shown. Simple transactions have two postings, but there can be more
(or in certain cases, fewer).
- up and down will step through all transactions listed in the previous
- account register screen. In the title bar, the numbers in parentheses
- show your position within that account register. They will vary
+ up and down will step through all transactions listed in the previous
+ account register screen. In the title bar, the numbers in parentheses
+ show your position within that account register. They will vary
depending on which account register you came from (remember most trans-
actions appear in multiple account registers). The #N number preceding
them is the transaction's position within the complete unfiltered jour-
nal, which is a more stable id (at least until the next reload).
Error screen
- This screen will appear if there is a problem, such as a parse error,
- when you press g to reload. Once you have fixed the problem, press g
+ This screen will appear if there is a problem, such as a parse error,
+ when you press g to reload. Once you have fixed the problem, press g
again to reload and resume normal operation. (Or, you can press escape
to cancel the reload attempt.)
@@ -319,17 +329,17 @@ ENVIRONMENT
COLUMNS The screen width to use. Default: the full terminal width.
LEDGER_FILE The journal file path when not specified with -f. Default:
- ~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
+ ~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
nal).
FILES
- Reads data from one or more files in hledger journal, timeclock, time-
- dot, or CSV format specified with -f, or $LEDGER_FILE, or
- $HOME/.hledger.journal (on windows, perhaps
+ Reads data from one or more files in hledger journal, timeclock, time-
+ dot, or CSV format specified with -f, or $LEDGER_FILE, or
+ $HOME/.hledger.journal (on windows, perhaps
C:/Users/USER/.hledger.journal).
BUGS
- The need to precede options with -- when invoked from hledger is awk-
+ The need to precede options with -- when invoked from hledger is awk-
ward.
-f- doesn't work (hledger-ui can't read from stdin).
@@ -337,13 +347,13 @@ BUGS
-V affects only the accounts screen.
When you press g, the current and all previous screens are regenerated,
- which may cause a noticeable pause with large files. Also there is no
+ which may cause a noticeable pause with large files. Also there is no
visual indication that this is in progress.
- --watch is not yet fully robust. It works well for normal usage, but
- many file changes in a short time (eg saving the file thousands of
- times with an editor macro) can cause problems at least on OSX. Symp-
- toms include: unresponsive UI, periodic resetting of the cursor posi-
+ --watch is not yet fully robust. It works well for normal usage, but
+ many file changes in a short time (eg saving the file thousands of
+ times with an editor macro) can cause problems at least on OSX. Symp-
+ toms include: unresponsive UI, periodic resetting of the cursor posi-
tion, momentary display of parse errors, high CPU usage eventually sub-
siding, and possibly a small but persistent build-up of CPU usage until
the program is restarted.
@@ -351,7 +361,7 @@ BUGS
REPORTING BUGS
- Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
+ Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
or hledger mail list)
@@ -365,7 +375,7 @@ COPYRIGHT
SEE ALSO
- hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
+ hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time-
dot(5), ledger(1)
@@ -373,4 +383,4 @@ SEE ALSO
-hledger-ui 1.4 September 2017 hledger-ui(1)
+hledger-ui 1.5 December 2017 hledger-ui(1)