- An array of functions can now be as the value of
converter
property, so that multi-argumnet options can use different conversion rules for different arguments (#14). - Mutexes can now include positional arguments (#11).
- Added
hidden
property for arguments, options and commands, removing them from the autogenerated usage and help strings. - Added
:group(name, ...)
method to Parser and Command objects, allowing custom grouping of arguments, options, and commands in autogenerated help string. - Added
help_vertical_space
property for configuring number of extra newlines between help strings for different arguments and options in autogenerated help string. - Added
usage_margin
andusage_max_width
properties for configuring usage string autogeneration. - Added
help_usage_margin
andhelp_description_margin
properties for configuring help string autogeneration. - Added
help_max_width
property. If set, descriptions in help string are automatically wrapped to fit into given number of columns. - Argparse version is now available as
argparse.version
.
--
can now be used as a normal option name, with arguments after--
always passed to it verbatim (#17).- When generating help messages for options with arguments and multiple aliases, usage strings for different aliases are put on separate lines and vertically aligned (#15).
- Actions can now be used to implement custom processing logic.
- Added actions for arguments.
- Added string aliases for actions such as
store_false
. - Command actions are now called after the parsing, with result target as the argument.
- Added
command_target
property for storing name of used command.
- Improved error messages on missing arguments.
-f123
is now interpreted as-f 123
when-f
takes an optional argument.
- Added license header to
argparse.lua
for ease of bundling and packaging (#3).
- Removed
aliases
property, aliases can now be set using several space separated strings as name, or, as it was possible before, by settingname
property several times.
- Added
handle_options
property (#2). - Often used properties now can be passed as arguments when calling or constructing an element.
- Cleaned up trailing whitespace in generated messages.
- Argparse no longer bundles 30log.
- Fixed incompatibility with old Luarocks versions.
- New
show_default
field disables automatic indication of default values in help messages.
- In default targets
-
is now replaced with_
. - Changed usage message generation to show options taking variable number of arguments after positional arguments.
- Fixed incompatibility with strict.lua and other checkers (#1).
- Added mutually exclusive groups.
- Options and arguments can now be configured to use different argument
placeholders for first, second, etc. arguments. E.g.
--pair <key> <value>
.
- Fixed script name inference not working for
Parser:get_help()
andParser:get_usage()
methods.
Initial release.