SubCmd

:= []
empty : { name : Str, description : Str, value : common_state } -> SubcommandParserConfig(common_state)

Create an empty subcommand.

finish : CliBuilder(state, from_action, to_action), { name : Str, description : Str, mapper : state -> common_state } -> SubcommandParserConfig(common_state)

Bundle a CLI builder into a subcommand.

get_first_arg_to_check_for_subcommand_call : ArgParserState(_), List(SubcommandParserConfig(sub_state)), (Try(SubcommandParserConfig(sub_state), [AfterDelimiter, NoArgument, UnknownCommand(Path)]) -> ArgParserResult(ArgParserState(state))) -> ArgParserResult(ArgParserState(state))
optional : List(SubcommandParserConfig(sub_state)) -> CliBuilder(Try(sub_state, [NoSubcommand]), GetOptionsAction, GetParamsAction)

Use previously defined subcommands as optional data in a parent CLI.

required : List(SubcommandParserConfig(sub_data)) -> CliBuilder(sub_data, GetOptionsAction, GetParamsAction)

Use previously defined subcommands as required data in a parent CLI.