argparse
Command-line argument parser.
Types
ArgumentOption
Configured option handle.
---
Parser
Configured parser.
---
ParseResult
Values returned by parse.
Fields
positionals: Dict[String]- Values of configured positional arguments, keyed by positional name.options: Dict[Dict[String]]- Present options, keyed by configured long option spelling (including--). Each value dictionary is keyed by its declared value name; a flag has an empty dictionary.
Functions
add_option(parser: Parser, name: String, short_name: String, help: String) -> ArgumentOption
Add an option and return it.
Parameters
parser: Parser- Parser to configure.name: String- Long option name, such as--verbose. Foreign parameter.short_name: String- Short option name, such as-v, or an empty string for a long-only option. Foreign parameter.help: String- Help text. Foreign parameter.
Returns
- Configured option handle.
Notes
- An option with no declared values acts as a flag.
- Long names must begin with
--. Short names are optional; when provided, they must be-followed by one character. Duplicate option names terminate throughstd::panic.
---
add_option_positional(option: ArgumentOption, name: String, help: String)
Add a positional value consumed by an option.
Parameters
option: ArgumentOption- Option returned byadd_option.name: String- Value name. Foreign parameter.help: String- Help text. Foreign parameter.
Notes
- Value names must be unique within an option because they become keys in the parse result.
---
add_positional(parser: Parser, name: String, help: String)
Add a required positional argument.
Parameters
parser: Parser- Parser to configure.name: String- Positional argument name. Foreign parameter.help: String- Help text. Foreign parameter.
---
format_help(parser: Parser, r: Region) -> String
Format generated parser help text.
Parameters
parser: Parser- Configured parser. Foreign parameter.r: Region- Allocation region for the returned string.
Returns
- Help text.
---
new(name: String, r: Region) -> Parser
Create an empty argument parser with a program name for generated help.
Parameters
name: String- Program name shown in the usage line. Foreign parameter.r: Region- Allocation region for the parser and all configured data.
Returns
Parser
---
set_description(parser: Parser, description: String)
Set the prose description shown before the generated usage section.
Parameters
parser: Parser- Parser to configure.description: String- Description shown before the usage section. Foreign parameter.
---
throws parse(parser: Parser, args: Vec[String], r: Region) -> ParseResult
Parse command-line arguments into a result.
Parameters
parser: Parser- Configured parser. Foreign parameter.args: Vec[String]- Command-line tokens after the executable name. Foreign parameter.r: Region- Allocation region for the returned result.
Returns
ParseResult
Notes
argsmust not include the executable name. The parsed dictionaries are allocated inr. Options may be written with their long or short names.--ends option parsing. Repeating an option is a parse error.- Supported forms are
--longand-s; grouped short options and inline values such as--output=fileare not supported. - Option values are retrieved by name, such as
result.options["--output"]?["file"]?. - Unknown or repeated options, missing option values, and missing or extra positional arguments return an
argparse:error.