mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-18 17:57:11 +03:00
imp: ui, web, cli, all cli commands now show the general flags grouped
And cli/ui/web each have their own more specific help flags.
This commit is contained in:
parent
ffb52e3032
commit
a366f3aeaa
@ -69,22 +69,31 @@ uiflags = [
|
||||
-- ,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 uihelpflags
|
||||
}
|
||||
,modeHelpSuffix=[
|
||||
-- "Reads your ~/.hledger.journal file, or another specified by $LEDGER_FILE or -f, and starts the full-window TUI."
|
||||
]
|
||||
}
|
||||
|
||||
uihelpflags :: [Flag RawOpts]
|
||||
uihelpflags = [
|
||||
flagNone ["version"] (setboolopt "version") "show version information"
|
||||
,flagNone ["help","h"] (setboolopt "help") "show command line help"
|
||||
,flagNone ["man"] (setboolopt "man") "show the hledger-ui manual with man"
|
||||
,flagNone ["info"] (setboolopt "info") "show the hledger-ui manual with info"
|
||||
]
|
||||
|
||||
-- hledger-ui options, used in hledger-ui and above
|
||||
data UIOpts = UIOpts
|
||||
|
@ -112,19 +112,20 @@ webmode =
|
||||
{ modeGroupFlags =
|
||||
Group
|
||||
{ groupUnnamed = webflags
|
||||
, groupHidden =
|
||||
hiddenflags
|
||||
-- ++
|
||||
-- [ flagNone
|
||||
-- ["binary-filename"]
|
||||
-- (setboolopt "binary-filename")
|
||||
-- "show the download filename for this executable, and exit"
|
||||
-- ]
|
||||
, groupNamed = [generalflagsgroup1]
|
||||
, groupHidden = hiddenflags
|
||||
, groupNamed = mkgeneralflagsgroups1 webhelpflags
|
||||
}
|
||||
, modeHelpSuffix = []
|
||||
}
|
||||
|
||||
webhelpflags :: [Flag RawOpts]
|
||||
webhelpflags = [
|
||||
flagNone ["version"] (setboolopt "version") "show version information"
|
||||
,flagNone ["help","h"] (setboolopt "help") "show command line help"
|
||||
,flagNone ["man"] (setboolopt "man") "show the hledger-web manual with man"
|
||||
,flagNone ["info"] (setboolopt "info") "show the hledger-web manual with info"
|
||||
]
|
||||
|
||||
-- hledger-web options, used in hledger-web and above
|
||||
data WebOpts = WebOpts
|
||||
{ serve_ :: !Bool
|
||||
|
@ -108,9 +108,9 @@ import Hledger.Cli.Version
|
||||
|
||||
-- | The overall cmdargs mode describing hledger's command-line options and subcommands.
|
||||
mainmode addons = defMode {
|
||||
modeNames = [progname ++ " [CMD]"]
|
||||
modeNames = [progname ++ " [COMMAND]"]
|
||||
,modeArgs = ([], Just $ argsFlag "[ARGS]")
|
||||
,modeHelp = unlines ["hledger's main command line interface. Runs builtin commands and other hledger executables. Type \"hledger\" to list available commands."]
|
||||
,modeHelp = unlines ["hledger's main command line interface. Run with no ARGS to list commands."]
|
||||
,modeGroupModes = Group {
|
||||
-- subcommands in the unnamed group, shown first:
|
||||
groupUnnamed = [
|
||||
@ -122,12 +122,8 @@ mainmode addons = defMode {
|
||||
,groupHidden = map fst builtinCommands ++ map addonCommandMode addons
|
||||
}
|
||||
,modeGroupFlags = Group {
|
||||
-- flags in named groups:
|
||||
groupNamed = [
|
||||
( "General input flags", inputflags)
|
||||
,("\nGeneral reporting flags", reportflags)
|
||||
,("\nGeneral help flags", helpflags)
|
||||
]
|
||||
-- flags in named groups: (keep synced with Hledger.Cli.CliOptions.highlightHelp)
|
||||
groupNamed = cligeneralflagsgroups1
|
||||
-- flags in the unnamed group, shown last:
|
||||
,groupUnnamed = []
|
||||
-- flags handled but not shown in the help:
|
||||
@ -135,15 +131,16 @@ mainmode addons = defMode {
|
||||
[detailedversionflag]
|
||||
-- ++ inputflags -- included here so they'll not raise a confusing error if present with no COMMAND
|
||||
}
|
||||
,modeHelpSuffix = "Examples:" :
|
||||
map (progname ++) [
|
||||
" list commands"
|
||||
," CMD [--] [OPTS] [ARGS] run a command (use -- with addon commands)"
|
||||
,"-CMD [OPTS] [ARGS] or run addon commands directly"
|
||||
," -h show general usage"
|
||||
," CMD -h show command usage"
|
||||
," help [MANUAL] show any of the hledger manuals in various formats"
|
||||
]
|
||||
,modeHelpSuffix = []
|
||||
-- "Examples:" :
|
||||
-- map (progname ++) [
|
||||
-- " list commands"
|
||||
-- ," CMD [--] [OPTS] [ARGS] run a command (use -- with addon commands)"
|
||||
-- ,"-CMD [OPTS] [ARGS] or run addon commands directly"
|
||||
-- ," -h show general usage"
|
||||
-- ," CMD -h show command usage"
|
||||
-- ," help [MANUAL] show any of the hledger manuals in various formats"
|
||||
-- ]
|
||||
}
|
||||
|
||||
-- | Let's go!
|
||||
|
@ -48,7 +48,7 @@ accountsmode = hledgerCommandMode
|
||||
++ flattreeflags False ++
|
||||
[flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "flat mode: omit N leading account name parts"]
|
||||
)
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -19,7 +19,7 @@ import Hledger.Cli.CliOptions
|
||||
activitymode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Activity.txt")
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -61,7 +61,7 @@ aregistermode = hledgerCommandMode
|
||||
,outputFormatFlag ["txt","html","csv","tsv","json"]
|
||||
,outputFileFlag
|
||||
])
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "ACCTPAT [QUERY]")
|
||||
|
||||
|
@ -336,7 +336,7 @@ balancemode = hledgerCommandMode
|
||||
,outputFileFlag
|
||||
]
|
||||
)
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
(hiddenflags ++
|
||||
[ flagNone ["commodity-column"] (setboolopt "commodity-column")
|
||||
"show commodity symbols in a separate column, amounts as bare numbers, one row per commodity"
|
||||
|
@ -22,7 +22,7 @@ checkmode :: Mode RawOpts
|
||||
checkmode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Check.txt")
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[CHECKS]")
|
||||
|
||||
|
@ -53,7 +53,7 @@ closemode = hledgerCommandMode
|
||||
,flagReq ["open-acct"] (\s opts -> Right $ setopt "open-acct" s opts) "ACCT" "set opening transaction's source account"
|
||||
,roundFlag
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
(hiddenflags
|
||||
++ -- keep supporting old flag names for compatibility
|
||||
[flagNone ["closing"] (setboolopt "close") "old spelling of --close"
|
||||
|
@ -26,7 +26,7 @@ import Hledger.Cli.CliOptions
|
||||
codesmode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Codes.txt")
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -25,7 +25,7 @@ import Hledger.Cli.CliOptions
|
||||
descriptionsmode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Descriptions.txt")
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -24,7 +24,7 @@ importmode = hledgerCommandMode
|
||||
[flagNone ["catchup"] (setboolopt "catchup") "just mark all transactions as already imported"
|
||||
,flagNone ["dry-run"] (setboolopt "dry-run") "just show the transactions to be imported"
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "FILE [...]")
|
||||
|
||||
|
@ -26,7 +26,7 @@ import Hledger.Cli.CliOptions
|
||||
notesmode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Notes.txt")
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -28,7 +28,7 @@ payeesmode = hledgerCommandMode
|
||||
[flagNone ["declared"] (setboolopt "declared") "show payees declared with payee directives"
|
||||
,flagNone ["used"] (setboolopt "used") "show payees referenced by transactions"
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -22,7 +22,7 @@ pricesmode = hledgerCommandMode
|
||||
[flagNone ["show-reverse"] (setboolopt "show-reverse")
|
||||
"also show the prices inferred by reversing known prices"
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
(hiddenflags ++
|
||||
[flagNone ["costs"] (setboolopt "infer-market-prices") "deprecated, use --infer-market-prices instead"
|
||||
,flagNone ["inverted-costs"] (setboolopt "show-reverse") "deprecated, use --show-reverse instead"
|
||||
|
@ -51,7 +51,7 @@ printmode = hledgerCommandMode
|
||||
,outputFormatFlag ["txt","beancount","csv","tsv","json","sql"]
|
||||
,outputFileFlag
|
||||
])
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -62,7 +62,7 @@ registermode = hledgerCommandMode
|
||||
,outputFormatFlag ["txt","csv","tsv","json"]
|
||||
,outputFileFlag
|
||||
])
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -29,7 +29,7 @@ rewritemode = hledgerCommandMode
|
||||
"add a posting to ACCT, which may be parenthesised. AMTEXPR is either a literal amount, or *N which means the transaction's first matched amount multiplied by N (a decimal number). Two spaces separate ACCT and AMTEXPR."
|
||||
,flagNone ["diff"] (setboolopt "diff") "generate diff suitable as an input for patch tool"
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY] --add-posting \"ACCT AMTEXPR\" ...")
|
||||
|
||||
|
@ -44,7 +44,7 @@ roimode = hledgerCommandMode
|
||||
,flagReq ["profit-loss","pnl"] (\s opts -> Right $ setopt "pnl" s opts) "QUERY"
|
||||
"query to select profit-and-loss or appreciation/valuation transactions"
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -43,7 +43,7 @@ statsmode = hledgerCommandMode
|
||||
[ flagNone ["verbose","v"] (setboolopt "verbose") "show more detailed output"
|
||||
,flagReq ["output-file","o"] (\s opts -> Right $ setopt "output-file" s opts) "FILE" "write output to FILE."
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
|
@ -21,7 +21,7 @@ tagsmode = hledgerCommandMode
|
||||
[flagNone ["values"] (setboolopt "values") "list tag values instead of tag names"
|
||||
,flagNone ["parsed"] (setboolopt "parsed") "show tags/values in the order they were parsed, including duplicates"
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[TAGREGEX [QUERY...]]")
|
||||
|
||||
|
@ -97,7 +97,7 @@ compoundBalanceCommandMode CompoundBalanceCommandSpec{..} =
|
||||
,outputFormatFlag ["txt","html","csv","tsv","json"]
|
||||
,outputFileFlag
|
||||
])
|
||||
[generalflagsgroup1]
|
||||
cligeneralflagsgroups1
|
||||
(hiddenflags ++
|
||||
[ flagNone ["commodity-column"] (setboolopt "commodity-column")
|
||||
"show commodity symbols in a separate column, amounts as bare numbers, one row per commodity"
|
||||
|
@ -83,7 +83,7 @@ $ hledger -f somefile
|
||||
|
||||
# ** 6. with -h, and possibly other common flags present, show general usage
|
||||
$ hledger -h --version -f /dev/null
|
||||
> /^hledger \[CMD\]/
|
||||
> /^hledger \[COMMAND\]/
|
||||
|
||||
# ** 7. with -h before a COMMAND, show command usage
|
||||
$ hledger -h balance --cost
|
||||
|
Loading…
Reference in New Issue
Block a user