Tested with Lua 5.4
- Hidden aliases can be added to an option or command by setting the
hidden_name
property
The repository has been moved to a new location.
- Added support for generating shell completion scripts for Bash, Zsh, and Fish
using the Parser methods
:get_bash_complete()
,:get_zsh_complete()
, and:get_fish_complete()
. The Parser methods:add_complete()
and:add_complete_command()
add a--completion
option orcompletion
command to the parser. - Added
:add_help_command()
method to Parser and Command objects. The help command shows help for the specified subcommand. - Added
choices
option and argument property for specifying a set of acceptable values for the argument. - Added
summary
command property for specifying the description shown in the parent parser's help message.
- The location of the help flag in usage and help messages is now determined by when it is added to the parser, rather than always being the last option. By default it is now the first option.
- An array of functions can now be used as the value of
converter
property, so that multi-argument 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.