map : CliBuilder(a, from_action, to_action), (a -> b) -> CliBuilder(b, from_action, to_action)
Map over the parsed value of a Weaver field.
:= []
Weave together a CLI parser using current Roc record-builder syntax.
map : CliBuilder(a, from_action, to_action), (a -> b) -> CliBuilder(b, from_action, to_action)
Map over the parsed value of a Weaver field.
map2 : CliBuilder(a, action1, action2), CliBuilder(b, action2, action3), (a, b -> c) -> CliBuilder(c, action1, action3)
Combine two CLI builders. This powers current Roc record-builder syntax:
{ name: Param.str(...), verbose: Opt.flag(...) }.Cli.
weave : CliBuilder(a, action1, action2), CliBuilder(b, action2, action3), (a, b -> c) -> CliBuilder(c, action1, action3)
Alias for map2 for code that wants a descriptive function name.
ensure_all_args_were_parsed : List(ParsedArg) -> Try({ }, ArgExtractErr)
Fail the parsing process if any arguments are left over after parsing.
finish : CliBuilder(data, from_action, to_action), CliConfigParams -> Try(CliParser(data), CliValidationErr)
Bundle a CLI builder into a parser, ensuring its configuration is valid.
finish_without_validating : CliBuilder(data, from_action, to_action), CliConfigParams -> CliParser(data)
Bundle a CLI builder into a parser without validating its configuration.
assert_valid : Try(CliParser(data), CliValidationErr) -> CliParser(data)
Assert that a CLI is properly configured, crashing your program if not.
Handle Cli.finish directly to render its validation error.
parse_or_display_message : CliParser(data), List(arg), (arg -> [Utf8(Str), UnixBytes(List(U8)), WindowsU16s(List(U16))]) -> Try(data, [Help(Str), Version(Str), InvalidUsage(Str)])
Parse arguments, or return a typed help, version, or usage message.
CliParser : {
config : CliConfig,
parser : List(Path) -> ArgParserResult(state),
text_style : TextStyle,
}
A parser that interprets command line arguments and returns typed data.