hledger-ui 1.33.1 → 1.34
raw patch · 8 files changed
+493/−778 lines, 8 filesdep +ghc-debug-stubdep +githashdep ~basedep ~brickdep ~doclayoutPVP ok
version bump matches the API change (PVP)
Dependencies added: ghc-debug-stub, githash
Dependency ranges changed: base, brick, doclayout, hledger, hledger-lib
API changes (from Hackage documentation)
- Hledger.UI.UIOptions: prognameandversion :: VersionString
+ Hledger.UI.UIOptions: prognameandversion :: String
Files
- CHANGES.md +26/−4
- Hledger/UI/ErrorScreen.hs +2/−2
- Hledger/UI/Main.hs +7/−2
- Hledger/UI/UIOptions.hs +33/−18
- hledger-ui.1 +118/−213
- hledger-ui.cabal +19/−5
- hledger-ui.info +166/−317
- hledger-ui.txt +122/−217
CHANGES.md view
@@ -7,12 +7,12 @@ Breaking changes -Fixes- Features Improvements +Fixes+ Docs API@@ -21,13 +21,35 @@ User-visible changes in hledger-ui. See also the hledger changelog. ++# 1.34 2024-06-01++Features++- You can now get a quick list of example command lines by running with `--tldr` (or just `--tl`).+ For best appearance, install the [`tldr`][tldr] client, though it's not required.++Improvements++- The general flags in `--help` have been updated and grouped,+ consistent with hledger.++- When built with the `ghcdebug` flag and started with `--debug=-1`,+ hledger-ui can be controlled by [ghc-debug] clients like+ ghc-debug-brick or a ghc-debug query script, for analysing+ memory/profile info.++[tldr]: https://tldr.sh+[ghc-debug]: https://gitlab.haskell.org/ghc/ghc-debug++ # 1.33.1 2024-05-02 - Require vty-windows-0.2.0.2+ to avoid display problems in recent MS Terminal on Windows. -- process >=1.6.19.0 seems not strictly needed and is no longer required,- improving installability.+- We no longer require process >=1.6.19.0, as it hurt installability+ and seems not strictly needed. [#2149] [#2149]: https://github.com/simonmichael/hledger/issues/2149
Hledger/UI/ErrorScreen.hs view
@@ -188,8 +188,8 @@ | ui^.ignore_assertions = ui | otherwise = case journalCheckBalanceAssertions j of- Nothing -> ui- Just err ->+ Right () -> ui+ Left err -> case ui of UIState{aScreen=ES sst} -> ui{aScreen=ES sst{_essError=err}} _ -> pushScreen (esNew err) ui
Hledger/UI/Main.hs view
@@ -58,7 +58,9 @@ hledgerUiMain :: IO ()-hledgerUiMain = withProgName "hledger-ui.log" $ do -- force Hledger.Utils.Debug.* to log to hledger-ui.log+hledgerUiMain = withGhcDebug' $ withProgName "hledger-ui.log" $ do -- force Hledger.Utils.Debug.* to log to hledger-ui.log+ when (ghcDebugMode == GDPauseAtStart) $ ghcDebugPause'+ traceLogAtIO 1 "\n\n\n\n==== hledger-ui start" dbg1IO "args" progArgs dbg1IO "debugLevel" debugLevel@@ -73,12 +75,15 @@ let copts' = copts{inputopts_=iopts{forecast_=forecast_ iopts <|> Just nulldatespan}} case True of- _ | boolopt "help" rawopts -> pager (showModeUsage uimode)+ _ | boolopt "help" rawopts -> pager $ showModeUsage uimode ++ "\n"+ _ | boolopt "tldr" rawopts -> runTldrForPage "hledger-ui" _ | boolopt "info" rawopts -> runInfoForTopic "hledger-ui" Nothing _ | boolopt "man" rawopts -> runManForTopic "hledger-ui" Nothing _ | boolopt "version" rawopts -> putStrLn prognameandversion -- _ | boolopt "binary-filename" rawopts -> putStrLn (binaryfilename progname) _ -> withJournalDo copts' (runBrickUi opts)++ when (ghcDebugMode == GDPauseAtEnd) $ ghcDebugPause' runBrickUi :: UIOpts -> Journal -> IO () runBrickUi uopts0@UIOpts{uoCliOpts=copts@CliOpts{inputopts_=_iopts,reportspec_=rspec@ReportSpec{_rsReportOpts=ropts}}} j =
Hledger/UI/UIOptions.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE TemplateHaskell #-} {-| -}@@ -10,6 +11,7 @@ import Data.List (intercalate) import qualified Data.Map as M import Data.Maybe (fromMaybe)+import GitHash (tGitInfoCwdTry) import Lens.Micro (set) import System.Environment (getArgs) @@ -29,9 +31,21 @@ progname :: ProgramName progname = "hledger-ui" -prognameandversion :: VersionString-prognameandversion = versionString progname packageversion+-- | Generate the version string for this program.+-- The template haskell call is here rather than in Hledger.Cli.Version to avoid wasteful recompilation.+prognameandversion :: String+prognameandversion =+ versionStringWith+ $$tGitInfoCwdTry+#ifdef GHCDEBUG+ True+#else+ False+#endif+ progname+ packageversion + uiflags = [ -- flagNone ["debug-ui"] (setboolopt "rules-file") "run with no terminal output, showing console" flagNone ["watch","w"] (setboolopt "watch") "watch for data and date changes and reload automatically"@@ -55,22 +69,23 @@ -- ,flagNone ["no-elide"] (setboolopt "no-elide") "don't compress empty parent accounts on one line" --uimode :: Mode RawOpts-uimode = (mode "hledger-ui" (setopt "command" "ui" def)- "browse accounts, postings and entries in a full-window TUI"- (argsFlag "[--cash|--bs|--is|--all|--register=ACCT] [QUERY]") []){- modeGroupFlags = Group {- groupUnnamed = uiflags- ,groupHidden = hiddenflags- ++- [flagNone ["future"] (setboolopt "forecast") "old flag, use --forecast instead"- ,flagNone ["menu"] (setboolopt "menu") "old flag, menu screen is now the default"- ]- ,groupNamed = [(generalflagsgroup1)]- }- ,modeHelpSuffix=[- -- "Reads your ~/.hledger.journal file, or another specified by $LEDGER_FILE or -f, and starts the full-window TUI."- ]- }+uimode =+ (mode "hledger-ui" (setopt "command" "ui" def)+ "browse accounts, postings and entries in a full-window TUI"+ (argsFlag "[--cash|--bs|--is|--all|--register=ACCT] [QUERY]") [])+ {modeGroupFlags = Group {+ groupUnnamed = uiflags+ ,groupHidden = hiddenflags+ +++ [flagNone ["future"] (setboolopt "forecast") "old flag, use --forecast instead"+ ,flagNone ["menu"] (setboolopt "menu") "old flag, menu screen is now the default"+ ]+ ,groupNamed = mkgeneralflagsgroups1 helpflags+ }+ ,modeHelpSuffix=[+ -- "Reads your ~/.hledger.journal file, or another specified by $LEDGER_FILE or -f, and starts the full-window TUI."+ ]+ } -- hledger-ui options, used in hledger-ui and above data UIOpts = UIOpts
hledger-ui.1 view
@@ -1,18 +1,23 @@ -.TH "HLEDGER\-UI" "1" "May 2024" "hledger-ui-1.33.1 " "hledger User Manuals"+.TH "HLEDGER\-UI" "1" "June 2024" "hledger-ui-1.34 " "hledger User Manuals" .SH NAME-hledger\-ui \- robust, friendly plain text accounting (TUI version)+hledger\-ui \- terminal interface (TUI) for \f[CR]hledger\f[R], a+robust, friendly plain text accounting app. .SH SYNOPSIS \f[CR]hledger\-ui [OPTS] [QUERYARGS]\f[R] .PD 0 .P .PD+or+.PD 0+.P+.PD \f[CR]hledger ui \-\- [OPTS] [QUERYARGS]\f[R] .SH DESCRIPTION-This manual is for hledger\[aq]s terminal interface, version 1.33.1.+This manual is for hledger\[aq]s terminal interface, version 1.34. See also the hledger manual for common concepts and file formats. .PP hledger is a robust, user\-friendly, cross\-platform set of programs for@@ -41,203 +46,110 @@ transactions, by pressing the F key (or starting with \-\-forecast) to enable \[dq]forecast mode\[dq]. .SH OPTIONS-Any QUERYARGS are interpreted as a hledger search query which filters-the data.-.PP+Any arguments are interpreted as a hledger query which filters the data. hledger\-ui provides the following options:-.TP-\f[CR]\-w \-\-watch\f[R]-watch for data and date changes and reload automatically-.TP-\f[CR]\-\-theme=default|terminal|greenterm|dark\f[R]-use this custom display theme-.TP-\f[CR]\-\-menu\f[R]-start in the menu screen-.TP-\f[CR]\-\-cash\f[R]-start in the cash accounts screen-.TP-\f[CR]\-\-bs\f[R]-start in the balance sheet accounts screen-.TP-\f[CR]\-\-is\f[R]-start in the income statement accounts screen-.TP-\f[CR]\-\-all\f[R]-start in the all accounts screen-.TP-\f[CR]\-\-register=ACCTREGEX\f[R]-start in the (first) matched account\[aq]s register screen-.TP-\f[CR]\-\-change\f[R]-show period balances (changes) at startup instead of historical balances-.TP-\f[CR]\-l \-\-flat\f[R]-show accounts as a flat list (default)-.TP-\f[CR]\-t \-\-tree\f[R]-show accounts as a tree-.PP-hledger\-ui also supports many of hledger\[aq]s general options (and the-hledger manual\[aq]s command line tips also apply here):-.SS General help options-.TP-\f[CR]\-h \-\-help\f[R]-show general or COMMAND help-.TP-\f[CR]\-\-man\f[R]-show general or COMMAND user manual with man-.TP-\f[CR]\-\-info\f[R]-show general or COMMAND user manual with info-.TP-\f[CR]\-\-version\f[R]-show general or ADDONCMD version-.TP-\f[CR]\-\-debug[=N]\f[R]-show debug output (levels 1\-9, default: 1)-.SS General input options-.TP-\f[CR]\-f FILE \-\-file=FILE\f[R]-use a different input file.-For stdin, use \- (default: \f[CR]$LEDGER_FILE\f[R] or-\f[CR]$HOME/.hledger.journal\f[R])-.TP-\f[CR]\-\-rules\-file=RULESFILE\f[R]-Conversion rules file to use when reading CSV (default: FILE.rules)-.TP-\f[CR]\-\-separator=CHAR\f[R]-Field separator to expect when reading CSV (default: \[aq],\[aq])-.TP-\f[CR]\-\-alias=OLD=NEW\f[R]-rename accounts named OLD to NEW-.TP-\f[CR]\-\-pivot FIELDNAME\f[R]-use some other field or tag for the account name-.TP-\f[CR]\-I \-\-ignore\-assertions\f[R]-disable balance assertion checks (note: does not disable balance-assignments)-.TP-\f[CR]\-s \-\-strict\f[R]-do extra error checking (check that all posted accounts are declared)-.SS General reporting options-.TP-\f[CR]\-b \-\-begin=DATE\f[R]-include postings/txns on or after this date (will be adjusted to-preceding subperiod start when using a report interval)-.TP-\f[CR]\-e \-\-end=DATE\f[R]-include postings/txns before this date (will be adjusted to following-subperiod end when using a report interval)-.TP-\f[CR]\-D \-\-daily\f[R]-multiperiod/multicolumn report by day-.TP-\f[CR]\-W \-\-weekly\f[R]-multiperiod/multicolumn report by week-.TP-\f[CR]\-M \-\-monthly\f[R]-multiperiod/multicolumn report by month-.TP-\f[CR]\-Q \-\-quarterly\f[R]-multiperiod/multicolumn report by quarter-.TP-\f[CR]\-Y \-\-yearly\f[R]-multiperiod/multicolumn report by year-.TP-\f[CR]\-p \-\-period=PERIODEXP\f[R]-set start date, end date, and/or reporting interval all at once using-period expressions syntax-.TP-\f[CR]\-\-date2\f[R]-match the secondary date instead (see command help for other effects)-.TP-\f[CR]\-\-today=DATE\f[R]-override today\[aq]s date (affects relative smart dates, for-tests/examples)-.TP-\f[CR]\-U \-\-unmarked\f[R]-include only unmarked postings/txns (can combine with \-P or \-C)-.TP-\f[CR]\-P \-\-pending\f[R]-include only pending postings/txns-.TP-\f[CR]\-C \-\-cleared\f[R]-include only cleared postings/txns-.TP-\f[CR]\-R \-\-real\f[R]-include only non\-virtual postings-.TP-\f[CR]\-NUM \-\-depth=NUM\f[R]-hide/aggregate accounts or postings more than NUM levels deep-.TP-\f[CR]\-E \-\-empty\f[R]-show items with zero amount, normally hidden (and vice\-versa in-hledger\-ui/hledger\-web)-.TP-\f[CR]\-B \-\-cost\f[R]-convert amounts to their cost/selling amount at transaction time-.TP-\f[CR]\-V \-\-market\f[R]-convert amounts to their market value in default valuation commodities-.TP-\f[CR]\-X \-\-exchange=COMM\f[R]-convert amounts to their market value in commodity COMM-.TP-\f[CR]\-\-value\f[R]-convert amounts to cost or market value, more flexibly than \-B/\-V/\-X-.TP-\f[CR]\-\-infer\-equity\f[R]-infer conversion equity postings from costs-.TP-\f[CR]\-\-infer\-costs\f[R]-infer costs from conversion equity postings-.TP-\f[CR]\-\-infer\-market\-prices\f[R]-use costs as additional market prices, as if they were P directives-.TP-\f[CR]\-\-forecast\f[R]-generate transactions from periodic rules,-between the latest recorded txn and 6 months from today,-or during the specified PERIOD (= is required).-Auto posting rules will be applied to these transactions as well.-Also, in hledger\-ui make future\-dated transactions visible.-.TP-\f[CR]\-\-auto\f[R]-generate extra postings by applying auto posting rules to all txns (not-just forecast txns)-.TP-\f[CR]\-\-verbose\-tags\f[R]-add visible tags indicating transactions or postings which have been-generated/modified-.TP-\f[CR]\-\-commodity\-style\f[R]-Override the commodity style in the output for the specified commodity.-For example \[aq]EUR1.000,00\[aq].-.TP-\f[CR]\-\-color=WHEN (or \-\-colour=WHEN)\f[R]-Should color\-supporting commands use ANSI color codes in text output.-\[aq]auto\[aq] (default): whenever stdout seems to be a-color\-supporting terminal.-\[aq]always\[aq] or \[aq]yes\[aq]: always, useful eg when piping output-into \[aq]less \-R\[aq].-\[aq]never\[aq] or \[aq]no\[aq]: never.-A NO_COLOR environment variable overrides this.-.TP-\f[CR]\-\-pretty[=WHEN]\f[R]-Show prettier output, e.g.-using unicode box\-drawing characters.-Accepts \[aq]yes\[aq] (the default) or \[aq]no\[aq] (\[aq]y\[aq],-\[aq]n\[aq], \[aq]always\[aq], \[aq]never\[aq] also work).-If you provide an argument you must use \[aq]=\[aq], e.g.-\[aq]\-\-pretty=yes\[aq].+.IP+.EX+Flags:+ \-w \-\-watch watch for data and date changes and reload+ automatically+ \-\-theme=THEME use this custom display theme (default,+ greenterm, terminal, dark)+ \-\-cash start in the cash accounts screen+ \-\-bs start in the balance sheet accounts screen+ \-\-is start in the income statement accounts screen+ \-\-all start in the all accounts screen+ \-\-register=ACCTREGEX start in the (first matched) account\[aq]s register+ \-\-change show period balances (changes) at startup instead+ of historical balances+ \-l \-\-flat show accounts as a flat list (default)+ \-t \-\-tree show accounts as a tree+.EE .PP-When a reporting option appears more than once in the command line, the-last one takes precedence.+and also supports many of hledger\[aq]s general options:+.IP+.EX+General input/data transformation flags:+ \-f \-\-file=FILE Read data from FILE, or from stdin if \-. Can be+ specified more than once. If not specified, reads+ from $LEDGER_FILE or $HOME/.hledger.journal.+ \-\-rules\-file=RULEFILE Use conversion rules from this file for+ converting subsequent CSV/SSV/TSV files. If not+ specified, uses FILE.rules for each such FILE.+ \-\-alias=A=B|/RGX/=RPL transform account names from A to B, or by+ replacing regular expression matches+ \-\-auto generate extra postings by applying auto posting+ rules (\[dq]=\[dq]) to all transactions+ \-\-forecast[=PERIOD] Generate extra transactions from periodic rules+ (\[dq]\[ti]\[dq]), from after the latest ordinary transaction+ until 6 months from now. Or, during the specified+ PERIOD (the equals is required). Auto posting rules+ will also be applied to these transactions. In+ hledger\-ui, also make future\-dated transactions+ visible at startup.+ \-I \-\-ignore\-assertions don\[aq]t check balance assertions by default+ \-\-infer\-costs infer conversion equity postings from costs+ \-\-infer\-equity infer costs from conversion equity postings+ \-\-infer\-market\-prices infer market prices from costs+ \-\-pivot=TAGNAME use a different field or tag as account names+ \-s \-\-strict do extra error checks (and override \-I)+ \-\-verbose\-tags add tags indicating generated/modified data++General output/reporting flags (supported by some commands):+ \-b \-\-begin=DATE include postings/transactions on/after this date+ \-e \-\-end=DATE include postings/transactions before this date+ (with a report interval, will be adjusted to+ following subperiod end)+ \-D \-\-daily multiperiod report with 1 day interval+ \-W \-\-weekly multiperiod report with 1 week interval+ \-M \-\-monthly multiperiod report with 1 month interval+ \-Q \-\-quarterly multiperiod report with 1 quarter interval+ \-Y \-\-yearly multiperiod report with 1 year interval+ \-p \-\-period=PERIODEXP set begin date, end date, and/or report interval,+ with more flexibility+ \-\-today=DATE override today\[aq]s date (affects relative dates)+ \-\-date2 match/use secondary dates instead (deprecated)+ \-U \-\-unmarked include only unmarked postings/transactions+ \-P \-\-pending include only pending postings/transactions+ \-C \-\-cleared include only cleared postings/transactions+ (\-U/\-P/\-C can be combined)+ \-R \-\-real include only non\-virtual postings+ \-\-depth=NUM or \-NUM: show only top NUM levels of accounts+ \-E \-\-empty Show zero items, which are normally hidden.+ In hledger\-ui & hledger\-web, do the opposite.+ \-B \-\-cost show amounts converted to their cost/sale amount+ \-V \-\-market Show amounts converted to their value at period+ end(s) in their default valuation commodity.+ Equivalent to \-\-value=end.+ \-X \-\-exchange=COMM Show amounts converted to their value at period+ end(s) in the specified commodity.+ Equivalent to \-\-value=end,COMM.+ \-\-value=WHEN[,COMM] show amounts converted to their value on the+ specified date(s) in their default valuation+ commodity or a specified commodity. WHEN can be:+ \[aq]then\[aq]: value on transaction dates+ \[aq]end\[aq]: value at period end(s)+ \[aq]now\[aq]: value today+ YYYY\-MM\-DD: value on given date+ \-c \-\-commodity\-style=S Override a commodity\[aq]s display style.+ Eg: \-c \[aq].\[aq] or \-c \[aq]1.000,00 EUR\[aq]+ \-\-color=YN \-\-colour Use ANSI color codes in text output? Can be+ \[aq]y\[aq]/\[aq]yes\[aq]/\[aq]always\[aq], \[aq]n\[aq]/\[aq]no\[aq]/\[aq]never\[aq] or \[aq]auto\[aq].+ \-\-pretty[=YN] Use box\-drawing characters in text output? Can be+ \[aq]y\[aq]/\[aq]yes\[aq] or \[aq]n\[aq]/\[aq]no\[aq].+ If YN is specified, the equals is required.+ \-\-debug=[1\-9] show this level of debug output (default: 1)++General help flags:+ \-h \-\-help show command line help+ \-\-tldr show command examples with tldr+ \-\-info show the manual with info+ \-\-man show the manual with man+ \-\-version show version information+.EE .PP-Some reporting options can also be written as query arguments.+With hledger\-ui, the \f[CR]\-\-debug\f[R] option sends debug output to+a \f[CR]hledger\-ui.log\f[R] file in the current directory. .SH MOUSE In most modern terminals, you can navigate through the screens with a mouse or touchpad:@@ -375,32 +287,32 @@ You can also use a command line flag to specific a different startup screen (\f[CR]\-\-cs\f[R], \f[CR]\-\-bs\f[R], \f[CR]\-\-is\f[R], \f[CR]\-\-all\f[R], or \f[CR]\-\-register=ACCT\f[R]).-.SS Menu+.SS Menu screen This is the top\-most screen. From here you can navigate to several screens listing accounts of various types. Note some of these may not show anything until you have configured account types.-.SS Cash accounts+.SS Cash accounts screen This screen shows \[dq]cash\[dq] (ie, liquid asset) accounts (like \f[CR]hledger balancesheet type:c\f[R]). It always shows balances (historical ending balances on the date shown in the title line).-.SS Balance sheet accounts+.SS Balance sheet accounts screen This screen shows asset, liability and equity accounts (like \f[CR]hledger balancesheetequity\f[R]). It always shows balances.-.SS Income statement accounts+.SS Income statement accounts screen This screen shows revenue and expense accounts (like \f[CR]hledger incomestatement\f[R]). It always shows changes (balance changes in the period shown in the title line).-.SS All accounts+.SS All accounts screen This screen shows all accounts in your journal (unless filtered by a query; like \f[CR]hledger balance\f[R]). It shows balances by default; you can toggle showing changes with the \f[CR]H\f[R] key.-.SS Register+.SS Register screen This screen shows the transactions affecting a particular account. Each line represents one transaction, and shows: .IP \[bu] 2@@ -454,7 +366,7 @@ unlike command\-line hledger). .PP Press \f[CR]RIGHT\f[R] to view the selected transaction in detail.-.SS Transaction+.SS Transaction screen This screen shows a single transaction, as a general journal entry, similar to hledger\[aq]s print command and journal format (hledger_journal(5)).@@ -485,14 +397,13 @@ editor, returning to hledger\-ui \- press \f[CR]g\f[R] to reload the file (or use \f[CR]\-w/\-\-watch\f[R] mode) \- press \f[CR]LEFT\f[R] then \f[CR]RIGHT\f[R] to exit and re\-enter the transaction screen.-.SS Error+.SS 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 again to reload and resume normal operation. (Or, you can press escape to cancel the reload attempt.)-.SH TIPS-.SS Watch mode+.SH WATCH MODE One of hledger\-ui\[aq]s best features is the auto\-reloading \f[CR]\-w/\-\-watch\f[R] mode. With this flag, it will update the display automatically whenever@@ -532,12 +443,6 @@ .PP If you are viewing files mounted from another machine, the system clocks on both machines should be roughly in agreement.-.SS Debug output-You can add \f[CR]\-\-debug[=N]\f[R] to the command line to log debug-output.-This will be logged to the file \f[CR]hledger\-ui.log\f[R] in the-current directory.-N ranges from 1 (least output, the default) to 9 (maximum output). .SH ENVIRONMENT \f[B]COLUMNS\f[R] The screen width to use. Default: the full terminal width.
hledger-ui.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hledger-ui-version: 1.33.1+version: 1.34 synopsis: Terminal interface for the hledger accounting system description: A simple terminal user interface for the hledger accounting system. It can be a more convenient way to browse your accounts than the CLI.@@ -39,6 +39,11 @@ type: git location: https://github.com/simonmichael/hledger +flag ghcdebug+ description: Build with support for attaching a ghc-debug client+ manual: True+ default: False+ flag threaded description: Build with support for multithreaded execution manual: False@@ -68,7 +73,7 @@ hs-source-dirs: ./ ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind- cpp-options: -DVERSION="1.33.1" -DVERSION="1.33.1"+ cpp-options: -DVERSION="1.34" -DVERSION="1.34" build-depends: ansi-terminal >=0.9 , async@@ -82,8 +87,9 @@ , extra >=1.6.3 , filepath , fsnotify ==0.4.*- , hledger >=1.33.1 && <1.34- , hledger-lib >=1.33.1 && <1.34+ , githash >=0.1.6.2+ , hledger ==1.34.*+ , hledger-lib ==1.34.* , megaparsec >=7.0.0 && <9.7 , microlens >=0.4 , microlens-platform >=0.2.3.1@@ -99,6 +105,10 @@ , vty >=6.1 && <6.3 , vty-crossplatform >=0.4.0.0 && <0.5.0.0 default-language: Haskell2010+ if (flag(ghcdebug))+ cpp-options: -DGHCDEBUG+ build-depends:+ ghc-debug-stub >=0.6.0.0 && <0.7 if os(windows) build-depends: vty-windows >=0.2.0.1 && <0.3.0.0@@ -113,10 +123,14 @@ hs-source-dirs: app ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind- cpp-options: -DVERSION="1.33.1"+ cpp-options: -DVERSION="1.34" build-depends: base >=4.14 && <4.20 , hledger-ui default-language: Haskell2010+ if (flag(ghcdebug))+ cpp-options: -DGHCDEBUG+ build-depends:+ ghc-debug-stub >=0.6.0.0 && <0.7 if flag(threaded) ghc-options: -threaded -with-rtsopts=-T
hledger-ui.info view
@@ -11,12 +11,14 @@ hledger-ui(1) ************* -hledger-ui - robust, friendly plain text accounting (TUI version)+hledger-ui - terminal interface (TUI) for 'hledger', a robust, friendly+plain text accounting app. 'hledger-ui [OPTS] [QUERYARGS]'+or 'hledger ui -- [OPTS] [QUERYARGS]' - This manual is for hledger's terminal interface, version 1.33.1. See+ This manual is for hledger's terminal interface, version 1.34. See also the hledger manual for common concepts and file formats. hledger is a robust, user-friendly, cross-platform set of programs@@ -48,7 +50,7 @@ * MOUSE:: * KEYS:: * SCREENS::-* TIPS::+* WATCH MODE:: * ENVIRONMENT:: * BUGS:: @@ -58,228 +60,106 @@ 1 OPTIONS ********* -Any QUERYARGS are interpreted as a hledger search query which filters-the data.-- hledger-ui provides the following options:--'-w --watch'-- watch for data and date changes and reload automatically-'--theme=default|terminal|greenterm|dark'-- use this custom display theme-'--menu'-- start in the menu screen-'--cash'-- start in the cash accounts screen-'--bs'-- start in the balance sheet accounts screen-'--is'-- start in the income statement accounts screen-'--all'-- start in the all accounts screen-'--register=ACCTREGEX'-- start in the (first) matched account's register screen-'--change'-- show period balances (changes) at startup instead of historical- balances-'-l --flat'-- show accounts as a flat list (default)-'-t --tree'-- show accounts as a tree-- hledger-ui also supports many of hledger's general options (and the-hledger manual's command line tips also apply here):--* Menu:--* General help options::-* General input options::-* General reporting options::---File: hledger-ui.info, Node: General help options, Next: General input options, Up: OPTIONS--1.1 General help options-========================--'-h --help'-- show general or COMMAND help-'--man'-- show general or COMMAND user manual with man-'--info'-- show general or COMMAND user manual with info-'--version'-- show general or ADDONCMD version-'--debug[=N]'-- show debug output (levels 1-9, default: 1)---File: hledger-ui.info, Node: General input options, Next: General reporting options, Prev: General help options, Up: OPTIONS--1.2 General input options-=========================--'-f FILE --file=FILE'-- use a different input file. For stdin, use - (default:- '$LEDGER_FILE' or '$HOME/.hledger.journal')-'--rules-file=RULESFILE'-- Conversion rules file to use when reading CSV (default: FILE.rules)-'--separator=CHAR'-- Field separator to expect when reading CSV (default: ',')-'--alias=OLD=NEW'-- rename accounts named OLD to NEW-'--pivot FIELDNAME'-- use some other field or tag for the account name-'-I --ignore-assertions'-- disable balance assertion checks (note: does not disable balance- assignments)-'-s --strict'-- do extra error checking (check that all posted accounts are- declared)---File: hledger-ui.info, Node: General reporting options, Prev: General input options, Up: OPTIONS--1.3 General reporting options-=============================--'-b --begin=DATE'-- include postings/txns on or after this date (will be adjusted to- preceding subperiod start when using a report interval)-'-e --end=DATE'-- include postings/txns before this date (will be adjusted to- following subperiod end when using a report interval)-'-D --daily'-- multiperiod/multicolumn report by day-'-W --weekly'-- multiperiod/multicolumn report by week-'-M --monthly'-- multiperiod/multicolumn report by month-'-Q --quarterly'-- multiperiod/multicolumn report by quarter-'-Y --yearly'-- multiperiod/multicolumn report by year-'-p --period=PERIODEXP'-- set start date, end date, and/or reporting interval all at once- using period expressions syntax-'--date2'-- match the secondary date instead (see command help for other- effects)-'--today=DATE'-- override today's date (affects relative smart dates, for- tests/examples)-'-U --unmarked'-- include only unmarked postings/txns (can combine with -P or -C)-'-P --pending'-- include only pending postings/txns-'-C --cleared'-- include only cleared postings/txns-'-R --real'-- include only non-virtual postings-'-NUM --depth=NUM'-- hide/aggregate accounts or postings more than NUM levels deep-'-E --empty'-- show items with zero amount, normally hidden (and vice-versa in- hledger-ui/hledger-web)-'-B --cost'-- convert amounts to their cost/selling amount at transaction time-'-V --market'-- convert amounts to their market value in default valuation- commodities-'-X --exchange=COMM'-- convert amounts to their market value in commodity COMM-'--value'-- convert amounts to cost or market value, more flexibly than- -B/-V/-X-'--infer-equity'-- infer conversion equity postings from costs-'--infer-costs'-- infer costs from conversion equity postings-'--infer-market-prices'-- use costs as additional market prices, as if they were P directives-'--forecast'-- generate transactions from periodic rules, between the latest- recorded txn and 6 months from today, or during the specified- PERIOD (= is required). Auto posting rules will be applied to- these transactions as well. Also, in hledger-ui make future-dated- transactions visible.-'--auto'-- generate extra postings by applying auto posting rules to all txns- (not just forecast txns)-'--verbose-tags'+Any arguments are interpreted as a hledger query which filters the data.+hledger-ui provides the following options: - add visible tags indicating transactions or postings which have- been generated/modified-'--commodity-style'+Flags:+ -w --watch watch for data and date changes and reload+ automatically+ --theme=THEME use this custom display theme (default,+ greenterm, terminal, dark)+ --cash start in the cash accounts screen+ --bs start in the balance sheet accounts screen+ --is start in the income statement accounts screen+ --all start in the all accounts screen+ --register=ACCTREGEX start in the (first matched) account's register+ --change show period balances (changes) at startup instead+ of historical balances+ -l --flat show accounts as a flat list (default)+ -t --tree show accounts as a tree - Override the commodity style in the output for the specified- commodity. For example 'EUR1.000,00'.-'--color=WHEN (or --colour=WHEN)'+ and also supports many of hledger's general options: - Should color-supporting commands use ANSI color codes in text- output. 'auto' (default): whenever stdout seems to be a- color-supporting terminal. 'always' or 'yes': always, useful eg- when piping output into 'less -R'. 'never' or 'no': never. A- NO_COLOR environment variable overrides this.-'--pretty[=WHEN]'+General input/data transformation flags:+ -f --file=FILE Read data from FILE, or from stdin if -. Can be+ specified more than once. If not specified, reads+ from $LEDGER_FILE or $HOME/.hledger.journal.+ --rules-file=RULEFILE Use conversion rules from this file for+ converting subsequent CSV/SSV/TSV files. If not+ specified, uses FILE.rules for each such FILE.+ --alias=A=B|/RGX/=RPL transform account names from A to B, or by+ replacing regular expression matches+ --auto generate extra postings by applying auto posting+ rules ("=") to all transactions+ --forecast[=PERIOD] Generate extra transactions from periodic rules+ ("~"), from after the latest ordinary transaction+ until 6 months from now. Or, during the specified+ PERIOD (the equals is required). Auto posting rules+ will also be applied to these transactions. In+ hledger-ui, also make future-dated transactions+ visible at startup.+ -I --ignore-assertions don't check balance assertions by default+ --infer-costs infer conversion equity postings from costs+ --infer-equity infer costs from conversion equity postings+ --infer-market-prices infer market prices from costs+ --pivot=TAGNAME use a different field or tag as account names+ -s --strict do extra error checks (and override -I)+ --verbose-tags add tags indicating generated/modified data - Show prettier output, e.g. using unicode box-drawing characters.- Accepts 'yes' (the default) or 'no' ('y', 'n', 'always', 'never'- also work). If you provide an argument you must use '=', e.g.- '-pretty=yes'.+General output/reporting flags (supported by some commands):+ -b --begin=DATE include postings/transactions on/after this date+ -e --end=DATE include postings/transactions before this date+ (with a report interval, will be adjusted to+ following subperiod end)+ -D --daily multiperiod report with 1 day interval+ -W --weekly multiperiod report with 1 week interval+ -M --monthly multiperiod report with 1 month interval+ -Q --quarterly multiperiod report with 1 quarter interval+ -Y --yearly multiperiod report with 1 year interval+ -p --period=PERIODEXP set begin date, end date, and/or report interval,+ with more flexibility+ --today=DATE override today's date (affects relative dates)+ --date2 match/use secondary dates instead (deprecated)+ -U --unmarked include only unmarked postings/transactions+ -P --pending include only pending postings/transactions+ -C --cleared include only cleared postings/transactions+ (-U/-P/-C can be combined)+ -R --real include only non-virtual postings+ --depth=NUM or -NUM: show only top NUM levels of accounts+ -E --empty Show zero items, which are normally hidden.+ In hledger-ui & hledger-web, do the opposite.+ -B --cost show amounts converted to their cost/sale amount+ -V --market Show amounts converted to their value at period+ end(s) in their default valuation commodity.+ Equivalent to --value=end.+ -X --exchange=COMM Show amounts converted to their value at period+ end(s) in the specified commodity.+ Equivalent to --value=end,COMM.+ --value=WHEN[,COMM] show amounts converted to their value on the+ specified date(s) in their default valuation+ commodity or a specified commodity. WHEN can be:+ 'then': value on transaction dates+ 'end': value at period end(s)+ 'now': value today+ YYYY-MM-DD: value on given date+ -c --commodity-style=S Override a commodity's display style.+ Eg: -c '.' or -c '1.000,00 EUR'+ --color=YN --colour Use ANSI color codes in text output? Can be+ 'y'/'yes'/'always', 'n'/'no'/'never' or 'auto'.+ --pretty[=YN] Use box-drawing characters in text output? Can be+ 'y'/'yes' or 'n'/'no'.+ If YN is specified, the equals is required.+ --debug=[1-9] show this level of debug output (default: 1) - When a reporting option appears more than once in the command line,-the last one takes precedence.+General help flags:+ -h --help show command line help+ --tldr show command examples with tldr+ --info show the manual with info+ --man show the manual with man+ --version show version information - Some reporting options can also be written as query arguments.+ With hledger-ui, the '--debug' option sends debug output to a+'hledger-ui.log' file in the current directory. File: hledger-ui.info, Node: MOUSE, Next: KEYS, Prev: OPTIONS, Up: Top@@ -399,7 +279,7 @@ Additional screen-specific keys are described below. -File: hledger-ui.info, Node: SCREENS, Next: TIPS, Prev: KEYS, Up: Top+File: hledger-ui.info, Node: SCREENS, Next: WATCH MODE, Prev: KEYS, Up: Top 4 SCREENS *********@@ -415,69 +295,69 @@ * Menu: -* Menu::-* Cash accounts::-* Balance sheet accounts::-* Income statement accounts::-* All accounts::-* Register::-* Transaction::-* Error::+* Menu screen::+* Cash accounts screen::+* Balance sheet accounts screen::+* Income statement accounts screen::+* All accounts screen::+* Register screen::+* Transaction screen::+* Error screen:: -File: hledger-ui.info, Node: Menu, Next: Cash accounts, Up: SCREENS+File: hledger-ui.info, Node: Menu screen, Next: Cash accounts screen, Up: SCREENS -4.1 Menu-========+4.1 Menu screen+=============== This is the top-most screen. From here you can navigate to several screens listing accounts of various types. Note some of these may not show anything until you have configured account types. -File: hledger-ui.info, Node: Cash accounts, Next: Balance sheet accounts, Prev: Menu, Up: SCREENS+File: hledger-ui.info, Node: Cash accounts screen, Next: Balance sheet accounts screen, Prev: Menu screen, Up: SCREENS -4.2 Cash accounts-=================+4.2 Cash accounts screen+======================== This screen shows "cash" (ie, liquid asset) accounts (like 'hledger balancesheet type:c'). It always shows balances (historical ending balances on the date shown in the title line). -File: hledger-ui.info, Node: Balance sheet accounts, Next: Income statement accounts, Prev: Cash accounts, Up: SCREENS+File: hledger-ui.info, Node: Balance sheet accounts screen, Next: Income statement accounts screen, Prev: Cash accounts screen, Up: SCREENS -4.3 Balance sheet accounts-==========================+4.3 Balance sheet accounts screen+================================= This screen shows asset, liability and equity accounts (like 'hledger balancesheetequity'). It always shows balances. -File: hledger-ui.info, Node: Income statement accounts, Next: All accounts, Prev: Balance sheet accounts, Up: SCREENS+File: hledger-ui.info, Node: Income statement accounts screen, Next: All accounts screen, Prev: Balance sheet accounts screen, Up: SCREENS -4.4 Income statement accounts-=============================+4.4 Income statement accounts screen+==================================== This screen shows revenue and expense accounts (like 'hledger incomestatement'). It always shows changes (balance changes in the period shown in the title line). -File: hledger-ui.info, Node: All accounts, Next: Register, Prev: Income statement accounts, Up: SCREENS+File: hledger-ui.info, Node: All accounts screen, Next: Register screen, Prev: Income statement accounts screen, Up: SCREENS -4.5 All accounts-================+4.5 All accounts screen+======================= This screen shows all accounts in your journal (unless filtered by a query; like 'hledger balance'). It shows balances by default; you can toggle showing changes with the 'H' key. -File: hledger-ui.info, Node: Register, Next: Transaction, Prev: All accounts, Up: SCREENS+File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: All accounts screen, Up: SCREENS -4.6 Register-============+4.6 Register screen+=================== This screen shows the transactions affecting a particular account. Each line represents one transaction, and shows:@@ -529,10 +409,10 @@ Press 'RIGHT' to view the selected transaction in detail. -File: hledger-ui.info, Node: Transaction, Next: Error, Prev: Register, Up: SCREENS+File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: SCREENS -4.7 Transaction-===============+4.7 Transaction screen+====================== This screen shows a single transaction, as a general journal entry, similar to hledger's print command and journal format@@ -564,10 +444,10 @@ to exit and re-enter the transaction screen. -File: hledger-ui.info, Node: Error, Prev: Transaction, Up: SCREENS+File: hledger-ui.info, Node: Error screen, Prev: Transaction screen, Up: SCREENS -4.8 Error-=========+4.8 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@@ -575,21 +455,10 @@ to cancel the reload attempt.) -File: hledger-ui.info, Node: TIPS, Next: ENVIRONMENT, Prev: SCREENS, Up: Top--5 TIPS-******--* Menu:--* Watch mode::-* Debug output::---File: hledger-ui.info, Node: Watch mode, Next: Debug output, Up: TIPS+File: hledger-ui.info, Node: WATCH MODE, Next: ENVIRONMENT, Prev: SCREENS, Up: Top -5.1 Watch mode-==============+5 WATCH MODE+************ One of hledger-ui's best features is the auto-reloading '-w/--watch' mode. With this flag, it will update the display automatically whenever@@ -626,17 +495,7 @@ clocks on both machines should be roughly in agreement. -File: hledger-ui.info, Node: Debug output, Prev: Watch mode, Up: TIPS--5.2 Debug output-================--You can add '--debug[=N]' to the command line to log debug output. This-will be logged to the file 'hledger-ui.log' in the current directory. N-ranges from 1 (least output, the default) to 9 (maximum output).---File: hledger-ui.info, Node: ENVIRONMENT, Next: BUGS, Prev: TIPS, Up: Top+File: hledger-ui.info, Node: ENVIRONMENT, Next: BUGS, Prev: WATCH MODE, Up: Top 6 ENVIRONMENT *************@@ -671,46 +530,36 @@ Tag Table: Node: Top221-Node: OPTIONS1830-Ref: #options1928-Node: General help options2956-Ref: #general-help-options3105-Node: General input options3387-Ref: #general-input-options3572-Node: General reporting options4229-Ref: #general-reporting-options4393-Node: MOUSE7783-Ref: #mouse7878-Node: KEYS8115-Ref: #keys8208-Node: SCREENS12863-Ref: #screens12961-Node: Menu13541-Ref: #menu13634-Node: Cash accounts13829-Ref: #cash-accounts13971-Node: Balance sheet accounts14155-Ref: #balance-sheet-accounts14336-Node: Income statement accounts14456-Ref: #income-statement-accounts14642-Node: All accounts14806-Ref: #all-accounts14952-Node: Register15134-Ref: #register15258-Node: Transaction17542-Ref: #transaction17665-Node: Error19082-Ref: #error19176-Node: TIPS19420-Ref: #tips19519-Node: Watch mode19561-Ref: #watch-mode19668-Node: Debug output21127-Ref: #debug-output21238-Node: ENVIRONMENT21450-Ref: #environment21560-Node: BUGS21751-Ref: #bugs21834+Node: OPTIONS1870+Ref: #options1968+Node: MOUSE8148+Ref: #mouse8243+Node: KEYS8480+Ref: #keys8573+Node: SCREENS13228+Ref: #screens13332+Node: Menu screen13968+Ref: #menu-screen14089+Node: Cash accounts screen14284+Ref: #cash-accounts-screen14461+Node: Balance sheet accounts screen14645+Ref: #balance-sheet-accounts-screen14861+Node: Income statement accounts screen14981+Ref: #income-statement-accounts-screen15202+Node: All accounts screen15366+Ref: #all-accounts-screen15547+Node: Register screen15729+Ref: #register-screen15888+Node: Transaction screen18172+Ref: #transaction-screen18330+Node: Error screen19747+Ref: #error-screen19869+Node: WATCH MODE20113+Ref: #watch-mode20230+Node: ENVIRONMENT21689+Ref: #environment21805+Node: BUGS21996+Ref: #bugs22079 End Tag Table
hledger-ui.txt view
@@ -2,231 +2,142 @@ HLEDGER-UI(1) hledger User Manuals HLEDGER-UI(1) NAME- hledger-ui - robust, friendly plain text accounting (TUI version)+ hledger-ui - terminal interface (TUI) for hledger, a robust, friendly+ plain text accounting app. SYNOPSIS hledger-ui [OPTS] [QUERYARGS]+ or hledger ui -- [OPTS] [QUERYARGS] DESCRIPTION- This manual is for hledger's terminal interface, version 1.33.1. See+ This manual is for hledger's terminal interface, version 1.34. See also the hledger manual for common concepts and file formats. - hledger is a robust, user-friendly, cross-platform set of programs for- tracking money, time, or any other commodity, using double-entry ac-- counting and a simple, editable file format. hledger is inspired by- and largely compatible with ledger(1), and largely interconvertible+ hledger is a robust, user-friendly, cross-platform set of programs for+ tracking money, time, or any other commodity, using double-entry ac-+ counting and a simple, editable file format. hledger is inspired by+ and largely compatible with ledger(1), and largely interconvertible with beancount(1). - hledger-ui is hledger's terminal 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 com-+ hledger-ui is hledger's terminal 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 com- mand-line interface, and sometimes quicker and more convenient than the web interface. - Like hledger, it reads from (and appends to) a journal file specified- by the LEDGER_FILE environment variable (defaulting to- $HOME/.hledger.journal); or you can specify files with -f options. It- can also read timeclock files, timedot files, or any CSV/SSV/TSV file+ Like hledger, it reads from (and appends to) a journal file specified+ by the LEDGER_FILE environment variable (defaulting to+ $HOME/.hledger.journal); or you can specify files with -f options. It+ can also read timeclock files, timedot files, or any CSV/SSV/TSV file with a date field. (See hledger(1) -> Input for details.) - Unlike hledger, hledger-ui hides all future-dated transactions by de-- fault. They can be revealed, along with any rule-generated periodic- transactions, by pressing the F key (or starting with --forecast) to+ Unlike hledger, hledger-ui hides all future-dated transactions by de-+ fault. They can be revealed, along with any rule-generated periodic+ transactions, by pressing the F key (or starting with --forecast) to enable "forecast mode". OPTIONS- Any QUERYARGS are interpreted as a hledger search query which filters- the data.-- hledger-ui provides the following options:-- -w --watch- watch for data and date changes and reload automatically-- --theme=default|terminal|greenterm|dark- use this custom display theme-- --menu start in the menu screen-- --cash start in the cash accounts screen-- --bs start in the balance sheet accounts screen-- --is start in the income statement accounts screen-- --all start in the all accounts screen-- --register=ACCTREGEX- start in the (first) matched account's register screen-- --change- show period balances (changes) at startup instead of historical- balances-- -l --flat- show accounts as a flat list (default)-- -t --tree- show accounts as a tree-- hledger-ui also supports many of hledger's general options (and the- hledger manual's command line tips also apply here):-- General help options- -h --help- show general or COMMAND help-- --man show general or COMMAND user manual with man-- --info show general or COMMAND user manual with info-- --version- show general or ADDONCMD version-- --debug[=N]- show debug output (levels 1-9, default: 1)-- General input options- -f FILE --file=FILE- use a different input file. For stdin, use - (default:- $LEDGER_FILE or $HOME/.hledger.journal)-- --rules-file=RULESFILE- Conversion rules file to use when reading CSV (default:- FILE.rules)-- --separator=CHAR- Field separator to expect when reading CSV (default: ',')-- --alias=OLD=NEW- rename accounts named OLD to NEW-- --pivot FIELDNAME- use some other field or tag for the account name-- -I --ignore-assertions- disable balance assertion checks (note: does not disable balance- assignments)-- -s --strict- do extra error checking (check that all posted accounts are de-- clared)-- General reporting options- -b --begin=DATE- include postings/txns on or after this date (will be adjusted to- preceding subperiod start when using a report interval)-- -e --end=DATE- include postings/txns before this date (will be adjusted to fol-- lowing subperiod end when using a report interval)-- -D --daily- multiperiod/multicolumn report by day-- -W --weekly- multiperiod/multicolumn report by week-- -M --monthly- multiperiod/multicolumn report by month-- -Q --quarterly- multiperiod/multicolumn report by quarter-- -Y --yearly- multiperiod/multicolumn report by year-- -p --period=PERIODEXP- set start date, end date, and/or reporting interval all at once- using period expressions syntax-- --date2- match the secondary date instead (see command help for other ef-- fects)-- --today=DATE- override today's date (affects relative smart dates, for- tests/examples)-- -U --unmarked- include only unmarked postings/txns (can combine with -P or -C)-- -P --pending- include only pending postings/txns-- -C --cleared- include only cleared postings/txns-- -R --real- include only non-virtual postings-- -NUM --depth=NUM- hide/aggregate accounts or postings more than NUM levels deep-- -E --empty- show items with zero amount, normally hidden (and vice-versa in- hledger-ui/hledger-web)-- -B --cost- convert amounts to their cost/selling amount at transaction time-- -V --market- convert amounts to their market value in default valuation com-- modities-- -X --exchange=COMM- convert amounts to their market value in commodity COMM-- --value- convert amounts to cost or market value, more flexibly than- -B/-V/-X-- --infer-equity- infer conversion equity postings from costs-- --infer-costs- infer costs from conversion equity postings-- --infer-market-prices- use costs as additional market prices, as if they were P direc-- tives-- --forecast- generate transactions from periodic rules, between the latest- recorded txn and 6 months from today, or during the specified- PERIOD (= is required). Auto posting rules will be applied to- these transactions as well. Also, in hledger-ui make fu-- ture-dated transactions visible.-- --auto generate extra postings by applying auto posting rules to all- txns (not just forecast txns)+ Any arguments are interpreted as a hledger query which filters the+ data. hledger-ui provides the following options: - --verbose-tags- add visible tags indicating transactions or postings which have- been generated/modified+ Flags:+ -w --watch watch for data and date changes and reload+ automatically+ --theme=THEME use this custom display theme (default,+ greenterm, terminal, dark)+ --cash start in the cash accounts screen+ --bs start in the balance sheet accounts screen+ --is start in the income statement accounts screen+ --all start in the all accounts screen+ --register=ACCTREGEX start in the (first matched) account's register+ --change show period balances (changes) at startup instead+ of historical balances+ -l --flat show accounts as a flat list (default)+ -t --tree show accounts as a tree - --commodity-style- Override the commodity style in the output for the specified- commodity. For example 'EUR1.000,00'.+ and also supports many of hledger's general options: - --color=WHEN (or --colour=WHEN)- Should color-supporting commands use ANSI color codes in text- output. 'auto' (default): whenever stdout seems to be a- color-supporting terminal. 'always' or 'yes': always, useful eg- when piping output into 'less -R'. 'never' or 'no': never. A- NO_COLOR environment variable overrides this.+ General input/data transformation flags:+ -f --file=FILE Read data from FILE, or from stdin if -. Can be+ specified more than once. If not specified, reads+ from $LEDGER_FILE or $HOME/.hledger.journal.+ --rules-file=RULEFILE Use conversion rules from this file for+ converting subsequent CSV/SSV/TSV files. If not+ specified, uses FILE.rules for each such FILE.+ --alias=A=B|/RGX/=RPL transform account names from A to B, or by+ replacing regular expression matches+ --auto generate extra postings by applying auto posting+ rules ("=") to all transactions+ --forecast[=PERIOD] Generate extra transactions from periodic rules+ ("~"), from after the latest ordinary transaction+ until 6 months from now. Or, during the specified+ PERIOD (the equals is required). Auto posting rules+ will also be applied to these transactions. In+ hledger-ui, also make future-dated transactions+ visible at startup.+ -I --ignore-assertions don't check balance assertions by default+ --infer-costs infer conversion equity postings from costs+ --infer-equity infer costs from conversion equity postings+ --infer-market-prices infer market prices from costs+ --pivot=TAGNAME use a different field or tag as account names+ -s --strict do extra error checks (and override -I)+ --verbose-tags add tags indicating generated/modified data - --pretty[=WHEN]- Show prettier output, e.g. using unicode box-drawing charac-- ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',- 'never' also work). If you provide an argument you must use- '=', e.g. '--pretty=yes'.+ General output/reporting flags (supported by some commands):+ -b --begin=DATE include postings/transactions on/after this date+ -e --end=DATE include postings/transactions before this date+ (with a report interval, will be adjusted to+ following subperiod end)+ -D --daily multiperiod report with 1 day interval+ -W --weekly multiperiod report with 1 week interval+ -M --monthly multiperiod report with 1 month interval+ -Q --quarterly multiperiod report with 1 quarter interval+ -Y --yearly multiperiod report with 1 year interval+ -p --period=PERIODEXP set begin date, end date, and/or report interval,+ with more flexibility+ --today=DATE override today's date (affects relative dates)+ --date2 match/use secondary dates instead (deprecated)+ -U --unmarked include only unmarked postings/transactions+ -P --pending include only pending postings/transactions+ -C --cleared include only cleared postings/transactions+ (-U/-P/-C can be combined)+ -R --real include only non-virtual postings+ --depth=NUM or -NUM: show only top NUM levels of accounts+ -E --empty Show zero items, which are normally hidden.+ In hledger-ui & hledger-web, do the opposite.+ -B --cost show amounts converted to their cost/sale amount+ -V --market Show amounts converted to their value at period+ end(s) in their default valuation commodity.+ Equivalent to --value=end.+ -X --exchange=COMM Show amounts converted to their value at period+ end(s) in the specified commodity.+ Equivalent to --value=end,COMM.+ --value=WHEN[,COMM] show amounts converted to their value on the+ specified date(s) in their default valuation+ commodity or a specified commodity. WHEN can be:+ 'then': value on transaction dates+ 'end': value at period end(s)+ 'now': value today+ YYYY-MM-DD: value on given date+ -c --commodity-style=S Override a commodity's display style.+ Eg: -c '.' or -c '1.000,00 EUR'+ --color=YN --colour Use ANSI color codes in text output? Can be+ 'y'/'yes'/'always', 'n'/'no'/'never' or 'auto'.+ --pretty[=YN] Use box-drawing characters in text output? Can be+ 'y'/'yes' or 'n'/'no'.+ If YN is specified, the equals is required.+ --debug=[1-9] show this level of debug output (default: 1) - When a reporting option appears more than once in the command line, the- last one takes precedence.+ General help flags:+ -h --help show command line help+ --tldr show command examples with tldr+ --info show the manual with info+ --man show the manual with man+ --version show version information - Some reporting options can also be written as query arguments.+ With hledger-ui, the --debug option sends debug output to a+ hledger-ui.log file in the current directory. MOUSE In most modern terminals, you can navigate through the screens with a@@ -345,31 +256,31 @@ You can also use a command line flag to specific a different startup screen (--cs, --bs, --is, --all, or --register=ACCT). - Menu+ Menu screen This is the top-most screen. From here you can navigate to several screens listing accounts of various types. Note some of these may not show anything until you have configured account types. - Cash accounts+ Cash accounts screen This screen shows "cash" (ie, liquid asset) accounts (like hledger bal- ancesheet type:c). It always shows balances (historical ending bal- ances on the date shown in the title line). - Balance sheet accounts+ Balance sheet accounts screen This screen shows asset, liability and equity accounts (like hledger balancesheetequity). It always shows balances. - Income statement accounts+ Income statement accounts screen This screen shows revenue and expense accounts (like hledger incomes- tatement). It always shows changes (balance changes in the period shown in the title line). - All accounts+ All accounts screen This screen shows all accounts in your journal (unless filtered by a query; like hledger balance). It shows balances by default; you can toggle showing changes with the H key. - Register+ Register screen This screen shows the transactions affecting a particular account. Each line represents one transaction, and shows: @@ -418,7 +329,7 @@ Press RIGHT to view the selected transaction in detail. - Transaction+ Transaction screen This screen shows a single transaction, as a general journal entry, similar to hledger's print command and journal format (hledger_jour- nal(5)).@@ -447,14 +358,13 @@ file (or use -w/--watch mode) - press LEFT then RIGHT to exit and re-enter the transaction screen. - Error+ 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 again to reload and resume normal operation. (Or, you can press escape to cancel the reload attempt.) -TIPS- Watch mode+WATCH MODE One of hledger-ui's best features is the auto-reloading -w/--watch mode. With this flag, it will update the display automatically when- ever changes are saved to the data files.@@ -489,11 +399,6 @@ If you are viewing files mounted from another machine, the system clocks on both machines should be roughly in agreement. - Debug output- You can add --debug[=N] to the command line to log debug output. This- will be logged to the file hledger-ui.log in the current directory. N- ranges from 1 (least output, the default) to 9 (maximum output).- ENVIRONMENT COLUMNS The screen width to use. Default: the full terminal width. @@ -535,4 +440,4 @@ SEE ALSO hledger(1), hledger-ui(1), hledger-web(1), ledger(1) -hledger-ui-1.33.1 May 2024 HLEDGER-UI(1)+hledger-ui-1.34 June 2024 HLEDGER-UI(1)