print,reg,balcmds: list output formats accurately in --help (#689)
Also: - tweak the unsupported output format message - Hledger.Cli.CliOptions no longer exports outputflags
This commit is contained in:
parent
5f1a864c20
commit
61bec588d2
@ -15,7 +15,7 @@ module Hledger.Cli.CliOptions (
|
||||
hiddenflags,
|
||||
inputflags,
|
||||
reportflags,
|
||||
outputflags,
|
||||
-- outputflags,
|
||||
outputFormatFlag,
|
||||
outputFileFlag,
|
||||
generalflagsgroup1,
|
||||
@ -192,9 +192,18 @@ hiddenflags = [
|
||||
]
|
||||
|
||||
-- | Common output-related flags: --output-file, --output-format...
|
||||
outputflags = [outputFormatFlag, outputFileFlag]
|
||||
outputFormatFlag = flagReq ["output-format","O"] (\s opts -> Right $ setopt "output-format" s opts) "FMT" "select the output format. Supported formats:\ntxt, csv, html."
|
||||
outputFileFlag = flagReq ["output-file","o"] (\s opts -> Right $ setopt "output-file" s opts) "FILE" "write output to FILE. A file extension matching one of the above formats selects that format."
|
||||
|
||||
-- outputflags = [outputFormatFlag, outputFileFlag]
|
||||
|
||||
outputFormatFlag :: [String] -> Flag RawOpts
|
||||
outputFormatFlag fmts = flagReq
|
||||
["output-format","O"] (\s opts -> Right $ setopt "output-format" s opts) "FMT"
|
||||
("select the output format. Supported formats:\n" ++ intercalate ", " fmts ++ ".")
|
||||
|
||||
outputFileFlag :: Flag RawOpts
|
||||
outputFileFlag = flagReq
|
||||
["output-file","o"] (\s opts -> Right $ setopt "output-file" s opts) "FILE"
|
||||
"write output to FILE. A file extension matching one of the above formats selects that format."
|
||||
|
||||
argsFlag :: FlagHelp -> Arg RawOpts
|
||||
argsFlag desc = flagArg (\s opts -> Right $ setopt "args" s opts) desc
|
||||
|
||||
@ -295,8 +295,9 @@ balancemode = hledgerCommandMode
|
||||
,flagNone ["invert"] (setboolopt "invert") "display all amounts with reversed sign"
|
||||
,flagNone ["transpose"] (setboolopt "transpose") "transpose rows and columns"
|
||||
,flagNone ["percent", "%"] (setboolopt "percent") "express values in percentage of each column's total"
|
||||
,outputFormatFlag ["txt","html","csv","json"]
|
||||
,outputFileFlag
|
||||
]
|
||||
++ outputflags
|
||||
)
|
||||
[generalflagsgroup1]
|
||||
hiddenflags
|
||||
|
||||
@ -39,7 +39,9 @@ printmode = hledgerCommandMode
|
||||
"show all amounts explicitly"
|
||||
,flagNone ["new"] (setboolopt "new")
|
||||
"show only newer-dated transactions added in each file since last run"
|
||||
] ++ outputflags)
|
||||
,outputFormatFlag ["txt","csv","json"]
|
||||
,outputFileFlag
|
||||
])
|
||||
[generalflagsgroup1]
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
@ -51,7 +51,9 @@ registermode = hledgerCommandMode
|
||||
#endif
|
||||
++ " or $COLUMNS). -wN,M sets description width as well."
|
||||
)
|
||||
] ++ outputflags)
|
||||
,outputFormatFlag ["txt","csv","json"]
|
||||
,outputFileFlag
|
||||
])
|
||||
[generalflagsgroup1]
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
@ -108,7 +108,7 @@ compoundBalanceCommandMode CompoundBalanceCommandSpec{..} =
|
||||
,flagNone ["pretty-tables"] (setboolopt "pretty-tables") "use unicode when displaying tables"
|
||||
,flagNone ["sort-amount","S"] (setboolopt "sort-amount") "sort by amount instead of account code/name"
|
||||
,flagNone ["percent", "%"] (setboolopt "percent") "express values in percentage of each column's total"
|
||||
,outputFormatFlag
|
||||
,outputFormatFlag ["txt","html","csv","json"]
|
||||
,outputFileFlag
|
||||
]
|
||||
[generalflagsgroup1]
|
||||
|
||||
@ -60,7 +60,7 @@ import Hledger.Utils
|
||||
|
||||
-- | Standard error message for a bad output format specified with -O/-o.
|
||||
unsupportedOutputFormatError :: String -> String
|
||||
unsupportedOutputFormatError fmt = "Sorry, output format \""++fmt++"\" is unrecognised or not yet implemented for this report."
|
||||
unsupportedOutputFormatError fmt = "Sorry, output format \""++fmt++"\" is unrecognised or not yet implemented for this report or report mode."
|
||||
|
||||
-- | Parse the user's specified journal file(s) as a Journal, maybe apply some
|
||||
-- transformations according to options, and run a hledger command with it.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user