The result of running cmdargs: an association list of option names to string values.
Modulehledger-lib-1.52.4GHC2021
Hledger.Data.RawOptions
hledger's cmdargs modes parse command-line arguments to an intermediate format, RawOpts (an association list), rather than a fixed ADT like CliOpts. This allows the modes and flags to be reused more easily by hledger commands/scripts in this and other packages.
- 1 type
- 21 values
- Packagehledger-lib-1.52.4
- Exports22
- LanguageGHC2021
- LicenceGPL-3.0-or-later
- SourceRawOptions.hs
Is the named flag present ?
Like boolopt, except if the flag is repeated on the command line it toggles the value. An even number of repetitions is equivalent to none.
choiceopt From a list of RawOpts, get the last one (ie the right-most on the command line) for which the given predicate returns a Just value. Useful for exclusive choice flags like --daily|--weekly|--quarterly...
import Safe (readMay)choiceopt Just (RawOpts [("a",""), ("b",""), ("c","")])Just "c"choiceopt (const Nothing) (RawOpts [("a","")])Nothingchoiceopt readMay (RawOpts [("LT",""),("EQ",""),("Neither","")]) :: Maybe OrderingJust EQ
Collects processed and filtered list of options preserving their order
collectopts (const Nothing) (RawOpts [("x","")])[]collectopts Just (RawOpts [("a",""),("b","")])[("a",""),("b","")]
Reads the named option's Int argument. If not present it will return 0. An argument that is too small or too large will raise an error.
Reads the named option's natural-number argument. If not present it will return 0. An argument that is negative or too large will raise an error.
Reads the named option's Int argument, if it is present. An argument that is too small or too large will raise an error.
Reads the named option's natural-number argument, if it is present. An argument that is negative or too large will raise an error.