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"
|
-- ,flagNone ["no-elide"] (setboolopt "no-elide") "don't compress empty parent accounts on one line"
|
||||||
|
|
||||||
--uimode :: Mode RawOpts
|
--uimode :: Mode RawOpts
|
||||||
uimode = (mode "hledger-ui" (setopt "command" "ui" def)
|
uimode =
|
||||||
"browse accounts, postings and entries in a full-window TUI"
|
(mode "hledger-ui" (setopt "command" "ui" def)
|
||||||
(argsFlag "[--cash|--bs|--is|--all|--register=ACCT] [QUERY]") []){
|
"browse accounts, postings and entries in a full-window TUI"
|
||||||
modeGroupFlags = Group {
|
(argsFlag "[--cash|--bs|--is|--all|--register=ACCT] [QUERY]") [])
|
||||||
groupUnnamed = uiflags
|
{modeGroupFlags = Group {
|
||||||
,groupHidden = hiddenflags
|
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"
|
[flagNone ["future"] (setboolopt "forecast") "old flag, use --forecast instead"
|
||||||
]
|
,flagNone ["menu"] (setboolopt "menu") "old flag, menu screen is now the default"
|
||||||
,groupNamed = [(generalflagsgroup1)]
|
]
|
||||||
}
|
,groupNamed = mkgeneralflagsgroups1 uihelpflags
|
||||||
,modeHelpSuffix=[
|
}
|
||||||
-- "Reads your ~/.hledger.journal file, or another specified by $LEDGER_FILE or -f, and starts the full-window TUI."
|
,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
|
-- hledger-ui options, used in hledger-ui and above
|
||||||
data UIOpts = UIOpts
|
data UIOpts = UIOpts
|
||||||
|
|||||||
@ -112,19 +112,20 @@ webmode =
|
|||||||
{ modeGroupFlags =
|
{ modeGroupFlags =
|
||||||
Group
|
Group
|
||||||
{ groupUnnamed = webflags
|
{ groupUnnamed = webflags
|
||||||
, groupHidden =
|
, groupHidden = hiddenflags
|
||||||
hiddenflags
|
, groupNamed = mkgeneralflagsgroups1 webhelpflags
|
||||||
-- ++
|
|
||||||
-- [ flagNone
|
|
||||||
-- ["binary-filename"]
|
|
||||||
-- (setboolopt "binary-filename")
|
|
||||||
-- "show the download filename for this executable, and exit"
|
|
||||||
-- ]
|
|
||||||
, groupNamed = [generalflagsgroup1]
|
|
||||||
}
|
}
|
||||||
, modeHelpSuffix = []
|
, 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
|
-- hledger-web options, used in hledger-web and above
|
||||||
data WebOpts = WebOpts
|
data WebOpts = WebOpts
|
||||||
{ serve_ :: !Bool
|
{ serve_ :: !Bool
|
||||||
|
|||||||
@ -108,9 +108,9 @@ import Hledger.Cli.Version
|
|||||||
|
|
||||||
-- | The overall cmdargs mode describing hledger's command-line options and subcommands.
|
-- | The overall cmdargs mode describing hledger's command-line options and subcommands.
|
||||||
mainmode addons = defMode {
|
mainmode addons = defMode {
|
||||||
modeNames = [progname ++ " [CMD]"]
|
modeNames = [progname ++ " [COMMAND]"]
|
||||||
,modeArgs = ([], Just $ argsFlag "[ARGS]")
|
,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 {
|
,modeGroupModes = Group {
|
||||||
-- subcommands in the unnamed group, shown first:
|
-- subcommands in the unnamed group, shown first:
|
||||||
groupUnnamed = [
|
groupUnnamed = [
|
||||||
@ -122,12 +122,8 @@ mainmode addons = defMode {
|
|||||||
,groupHidden = map fst builtinCommands ++ map addonCommandMode addons
|
,groupHidden = map fst builtinCommands ++ map addonCommandMode addons
|
||||||
}
|
}
|
||||||
,modeGroupFlags = Group {
|
,modeGroupFlags = Group {
|
||||||
-- flags in named groups:
|
-- flags in named groups: (keep synced with Hledger.Cli.CliOptions.highlightHelp)
|
||||||
groupNamed = [
|
groupNamed = cligeneralflagsgroups1
|
||||||
( "General input flags", inputflags)
|
|
||||||
,("\nGeneral reporting flags", reportflags)
|
|
||||||
,("\nGeneral help flags", helpflags)
|
|
||||||
]
|
|
||||||
-- flags in the unnamed group, shown last:
|
-- flags in the unnamed group, shown last:
|
||||||
,groupUnnamed = []
|
,groupUnnamed = []
|
||||||
-- flags handled but not shown in the help:
|
-- flags handled but not shown in the help:
|
||||||
@ -135,15 +131,16 @@ mainmode addons = defMode {
|
|||||||
[detailedversionflag]
|
[detailedversionflag]
|
||||||
-- ++ inputflags -- included here so they'll not raise a confusing error if present with no COMMAND
|
-- ++ inputflags -- included here so they'll not raise a confusing error if present with no COMMAND
|
||||||
}
|
}
|
||||||
,modeHelpSuffix = "Examples:" :
|
,modeHelpSuffix = []
|
||||||
map (progname ++) [
|
-- "Examples:" :
|
||||||
" list commands"
|
-- map (progname ++) [
|
||||||
," CMD [--] [OPTS] [ARGS] run a command (use -- with addon commands)"
|
-- " list commands"
|
||||||
,"-CMD [OPTS] [ARGS] or run addon commands directly"
|
-- ," CMD [--] [OPTS] [ARGS] run a command (use -- with addon commands)"
|
||||||
," -h show general usage"
|
-- ,"-CMD [OPTS] [ARGS] or run addon commands directly"
|
||||||
," CMD -h show command usage"
|
-- ," -h show general usage"
|
||||||
," help [MANUAL] show any of the hledger manuals in various formats"
|
-- ," CMD -h show command usage"
|
||||||
]
|
-- ," help [MANUAL] show any of the hledger manuals in various formats"
|
||||||
|
-- ]
|
||||||
}
|
}
|
||||||
|
|
||||||
-- | Let's go!
|
-- | Let's go!
|
||||||
|
|||||||
@ -48,7 +48,7 @@ accountsmode = hledgerCommandMode
|
|||||||
++ flattreeflags False ++
|
++ flattreeflags False ++
|
||||||
[flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "flat mode: omit N leading account name parts"]
|
[flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "flat mode: omit N leading account name parts"]
|
||||||
)
|
)
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ import Hledger.Cli.CliOptions
|
|||||||
activitymode = hledgerCommandMode
|
activitymode = hledgerCommandMode
|
||||||
$(embedFileRelative "Hledger/Cli/Commands/Activity.txt")
|
$(embedFileRelative "Hledger/Cli/Commands/Activity.txt")
|
||||||
[]
|
[]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -61,7 +61,7 @@ aregistermode = hledgerCommandMode
|
|||||||
,outputFormatFlag ["txt","html","csv","tsv","json"]
|
,outputFormatFlag ["txt","html","csv","tsv","json"]
|
||||||
,outputFileFlag
|
,outputFileFlag
|
||||||
])
|
])
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "ACCTPAT [QUERY]")
|
([], Just $ argsFlag "ACCTPAT [QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -336,7 +336,7 @@ balancemode = hledgerCommandMode
|
|||||||
,outputFileFlag
|
,outputFileFlag
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
(hiddenflags ++
|
(hiddenflags ++
|
||||||
[ flagNone ["commodity-column"] (setboolopt "commodity-column")
|
[ flagNone ["commodity-column"] (setboolopt "commodity-column")
|
||||||
"show commodity symbols in a separate column, amounts as bare numbers, one row per commodity"
|
"show commodity symbols in a separate column, amounts as bare numbers, one row per commodity"
|
||||||
|
|||||||
@ -22,7 +22,7 @@ checkmode :: Mode RawOpts
|
|||||||
checkmode = hledgerCommandMode
|
checkmode = hledgerCommandMode
|
||||||
$(embedFileRelative "Hledger/Cli/Commands/Check.txt")
|
$(embedFileRelative "Hledger/Cli/Commands/Check.txt")
|
||||||
[]
|
[]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[CHECKS]")
|
([], 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"
|
,flagReq ["open-acct"] (\s opts -> Right $ setopt "open-acct" s opts) "ACCT" "set opening transaction's source account"
|
||||||
,roundFlag
|
,roundFlag
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
(hiddenflags
|
(hiddenflags
|
||||||
++ -- keep supporting old flag names for compatibility
|
++ -- keep supporting old flag names for compatibility
|
||||||
[flagNone ["closing"] (setboolopt "close") "old spelling of --close"
|
[flagNone ["closing"] (setboolopt "close") "old spelling of --close"
|
||||||
|
|||||||
@ -26,7 +26,7 @@ import Hledger.Cli.CliOptions
|
|||||||
codesmode = hledgerCommandMode
|
codesmode = hledgerCommandMode
|
||||||
$(embedFileRelative "Hledger/Cli/Commands/Codes.txt")
|
$(embedFileRelative "Hledger/Cli/Commands/Codes.txt")
|
||||||
[]
|
[]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ import Hledger.Cli.CliOptions
|
|||||||
descriptionsmode = hledgerCommandMode
|
descriptionsmode = hledgerCommandMode
|
||||||
$(embedFileRelative "Hledger/Cli/Commands/Descriptions.txt")
|
$(embedFileRelative "Hledger/Cli/Commands/Descriptions.txt")
|
||||||
[]
|
[]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ importmode = hledgerCommandMode
|
|||||||
[flagNone ["catchup"] (setboolopt "catchup") "just mark all transactions as already imported"
|
[flagNone ["catchup"] (setboolopt "catchup") "just mark all transactions as already imported"
|
||||||
,flagNone ["dry-run"] (setboolopt "dry-run") "just show the transactions to be imported"
|
,flagNone ["dry-run"] (setboolopt "dry-run") "just show the transactions to be imported"
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "FILE [...]")
|
([], Just $ argsFlag "FILE [...]")
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ import Hledger.Cli.CliOptions
|
|||||||
notesmode = hledgerCommandMode
|
notesmode = hledgerCommandMode
|
||||||
$(embedFileRelative "Hledger/Cli/Commands/Notes.txt")
|
$(embedFileRelative "Hledger/Cli/Commands/Notes.txt")
|
||||||
[]
|
[]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@ payeesmode = hledgerCommandMode
|
|||||||
[flagNone ["declared"] (setboolopt "declared") "show payees declared with payee directives"
|
[flagNone ["declared"] (setboolopt "declared") "show payees declared with payee directives"
|
||||||
,flagNone ["used"] (setboolopt "used") "show payees referenced by transactions"
|
,flagNone ["used"] (setboolopt "used") "show payees referenced by transactions"
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ pricesmode = hledgerCommandMode
|
|||||||
[flagNone ["show-reverse"] (setboolopt "show-reverse")
|
[flagNone ["show-reverse"] (setboolopt "show-reverse")
|
||||||
"also show the prices inferred by reversing known prices"
|
"also show the prices inferred by reversing known prices"
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
(hiddenflags ++
|
(hiddenflags ++
|
||||||
[flagNone ["costs"] (setboolopt "infer-market-prices") "deprecated, use --infer-market-prices instead"
|
[flagNone ["costs"] (setboolopt "infer-market-prices") "deprecated, use --infer-market-prices instead"
|
||||||
,flagNone ["inverted-costs"] (setboolopt "show-reverse") "deprecated, use --show-reverse 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"]
|
,outputFormatFlag ["txt","beancount","csv","tsv","json","sql"]
|
||||||
,outputFileFlag
|
,outputFileFlag
|
||||||
])
|
])
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -62,7 +62,7 @@ registermode = hledgerCommandMode
|
|||||||
,outputFormatFlag ["txt","csv","tsv","json"]
|
,outputFormatFlag ["txt","csv","tsv","json"]
|
||||||
,outputFileFlag
|
,outputFileFlag
|
||||||
])
|
])
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], 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."
|
"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"
|
,flagNone ["diff"] (setboolopt "diff") "generate diff suitable as an input for patch tool"
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY] --add-posting \"ACCT AMTEXPR\" ...")
|
([], 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"
|
,flagReq ["profit-loss","pnl"] (\s opts -> Right $ setopt "pnl" s opts) "QUERY"
|
||||||
"query to select profit-and-loss or appreciation/valuation transactions"
|
"query to select profit-and-loss or appreciation/valuation transactions"
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -43,7 +43,7 @@ statsmode = hledgerCommandMode
|
|||||||
[ flagNone ["verbose","v"] (setboolopt "verbose") "show more detailed output"
|
[ 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."
|
,flagReq ["output-file","o"] (\s opts -> Right $ setopt "output-file" s opts) "FILE" "write output to FILE."
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ tagsmode = hledgerCommandMode
|
|||||||
[flagNone ["values"] (setboolopt "values") "list tag values instead of tag names"
|
[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"
|
,flagNone ["parsed"] (setboolopt "parsed") "show tags/values in the order they were parsed, including duplicates"
|
||||||
]
|
]
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
hiddenflags
|
hiddenflags
|
||||||
([], Just $ argsFlag "[TAGREGEX [QUERY...]]")
|
([], Just $ argsFlag "[TAGREGEX [QUERY...]]")
|
||||||
|
|
||||||
|
|||||||
@ -97,7 +97,7 @@ compoundBalanceCommandMode CompoundBalanceCommandSpec{..} =
|
|||||||
,outputFormatFlag ["txt","html","csv","tsv","json"]
|
,outputFormatFlag ["txt","html","csv","tsv","json"]
|
||||||
,outputFileFlag
|
,outputFileFlag
|
||||||
])
|
])
|
||||||
[generalflagsgroup1]
|
cligeneralflagsgroups1
|
||||||
(hiddenflags ++
|
(hiddenflags ++
|
||||||
[ flagNone ["commodity-column"] (setboolopt "commodity-column")
|
[ flagNone ["commodity-column"] (setboolopt "commodity-column")
|
||||||
"show commodity symbols in a separate column, amounts as bare numbers, one row per commodity"
|
"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
|
# ** 6. with -h, and possibly other common flags present, show general usage
|
||||||
$ hledger -h --version -f /dev/null
|
$ hledger -h --version -f /dev/null
|
||||||
> /^hledger \[CMD\]/
|
> /^hledger \[COMMAND\]/
|
||||||
|
|
||||||
# ** 7. with -h before a COMMAND, show command usage
|
# ** 7. with -h before a COMMAND, show command usage
|
||||||
$ hledger -h balance --cost
|
$ hledger -h balance --cost
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user