Kyle McLamb
0fedcdeade
Add handle_options property to Parser
...
When `parser:handle_options(true)` (the default), the parser will behave as
before.
When `parser:handle_options(false)`, all options will be passed verbatim
to the argument list, as if the input included double-hyphens.
2015-06-17 04:06:41 -04:00
mpeterv
85809c8ad4
Reorder properties
...
Move more common properties to the front of property lists,
so that they can be passed as constructor arguments.
E.g.
parser:option "-p" "--port"
:description "Port number."
:default "8080"
:convert(tonumber)
can now be expressed as
parser:option("-p --port", "Port number.", "8080", tonumber)
2015-06-09 22:27:32 +03:00
mpeterv
44fd3b3cb8
Remove 'aliases' property
...
Allow setting several names using 'name' property instead, e.g.
':name "-f --foo"' instead of ':aliases {"-f", "--foo"}'.
This change breaks documented interface of 0.3.x.
2015-06-09 22:08:16 +03:00
mpeterv
ff9abac990
Allow using multiple constructor arguments for configuring elements
...
Disable undocumented ability to specify aliases as arguments
for constructors, e.g. parser:option("-f", "--foo"), and instead
order properties and pass constructor arguments to them.
E.g. parser:argument("foo", "A foo that bars") sets argument
name to foo and description to "A foo that bars".
TODO: remove "aliases" property, instead allow setting several
names in one string by separating them using space.
TODO: reorder properties so that most useful ones could be used
as constructor arguments.
2015-06-09 21:56:36 +03:00
mpeterv
476ad19de8
Avoid printing space at the end of line
2015-03-13 15:40:24 +03:00
mpeterv
01cc387863
Spec cleanups
2015-03-13 15:19:33 +03:00
mpeterv
0da90dc597
Print \n instead of \r\n
2015-03-13 15:12:06 +03:00
mpeterv
bd5fd00e6c
Custom target should not affect usage and help message generation
2014-08-25 13:51:08 +04:00
mpeterv
b02536d6ba
Fixed - being replaced with _ in custom targets
...
Default argname for options is now default target in brackets
2014-08-25 13:44:26 +04:00
mpeterv
6e02b89b9b
Replace - with _ in default target
2014-08-23 11:35:49 +04:00
mpeterv
b8766c8cdf
Improved usage message generation
...
Put options taking variable number of arguments after positional arguments
2014-08-21 15:24:54 +04:00
mpeterv
8c16eca398
Revert autoadding of <> to custom argnames
2014-08-06 13:33:50 +04:00
mpeterv
4b97d03bf5
Added show_default field
2014-08-06 13:02:29 +04:00
mpeterv
59603d5f39
Fixed exploded tests to work with busted 2.0
2014-08-01 17:44:15 +04:00
mpeterv
d1386c1d96
Add brackets to argname automatically
...
Updated aux files
2014-04-24 21:27:22 +04:00
mpeterv
b42960c0da
Added another test
2014-03-09 14:44:19 +04:00
mpeterv
7bf5777413
Added mutually exclusive groups
2014-03-09 14:28:55 +04:00
mpeterv
c605f248ad
Better name inference
2014-03-08 16:25:54 +04:00
mpeterv
2d0faa258d
Argname can be an array
2014-03-08 16:04:40 +04:00
mpeterv
b4c51e84de
Make add_help an actual field
2014-03-02 19:27:37 +04:00
mpeterv
fb1c14ff80
Fixed options receiving arguments after --
2014-03-02 12:40:16 +04:00
mpeterv
454ef54aa3
Removed :usage() hooks for arguments and options
2014-03-02 11:51:25 +04:00
mpeterv
f24cfe9627
Got rid of :prepare()
2014-03-02 02:03:44 +04:00
mpeterv
db3e21e944
Refactoring: added sanity checks in setters
2014-03-02 00:49:44 +04:00
mpeterv
73467e2836
Fixed usage messages in subcommands corrupted after several usages
2014-03-01 16:41:14 +04:00
mpeterv
8cefeb1ef7
Updated README; use u
in defmode
as a flag instead of c
2014-03-01 15:05:36 +04:00
mpeterv
d601f54dce
Improved usage messages for default values
2014-03-01 14:43:20 +04:00
mpeterv
57f8d46ba3
Reworked default values
...
* Better out-of-the-box behavior: commonly used feature should work without configuration. Only use default value if argument/option was not used at all.
* Add `defmode` field so that old behaviour can be used, too.
2014-02-28 17:06:07 +04:00
mpeterv
a4b93b0833
Changed actions behaviour
...
Actions are now just triggers. Actions for arguments and root parser ae removed.
2014-02-26 12:07:53 +04:00
mpeterv
aeacbeb589
Improved error message
...
Report '1 times' as '1 time'
2014-02-23 16:58:39 +04:00
mpeterv
5c82cb4c2e
Added epilog field
2014-02-23 16:44:13 +04:00
mpeterv
7994dded7e
Make command required by default
2014-02-23 16:27:23 +04:00
mpeterv
fc65c85a13
Improved command line parsing
...
The first character after control character is now not required to be a letter
2014-02-23 16:20:55 +04:00
mpeterv
d9fc8728ca
Mark entire option as optional if there is default value
2014-02-20 12:52:24 +04:00
mpeterv
3e6dc54201
If an option with a default value is underused, invoke it more
2014-02-20 12:48:51 +04:00
mpeterv
e99e047c4d
In usage message, mark arguments as optional if there is a default value
2014-02-20 12:41:27 +04:00
mpeterv
8bc02caae6
Convert can now be a table used as mapping
2014-02-20 12:34:02 +04:00
mpeterv
754788b986
False return from converter is now valid, only nil is signal for error
2014-02-20 12:28:46 +04:00
mpeterv
3a80e0179b
:pparse() should still raise an error if it is caused by misconfiguration
2014-02-18 15:35:58 +04:00
mpeterv
a0fe631b08
added a few tests for :pparse()
2014-02-18 15:27:58 +04:00
mpeterv
5b96416ada
Minor change in an error message
2014-02-18 14:39:32 +04:00
mpeterv
07af666206
Pad long usage messages
...
Long usage messages are split into lines. A margin is added so that they line up under "Usage: " part of the message.
2014-02-18 13:28:06 +04:00
mpeterv
ccad58ef50
return Parser as the module
2014-02-17 18:41:09 +04:00
mpeterv
3788b9c1a6
Improved help option behaviour
...
* Help option is only created once per parser, several :prepare() invocations do not create extra options.
* In :add_help(foo), foo is passed to the help option overriding default name, see spec/help_spec.lua @ 24
2014-02-17 16:58:16 +04:00
mpeterv
4dc73cac35
added a test for multiline descriptions
2014-02-17 15:26:04 +04:00
mpeterv
e7aa042004
Fixed the charset of the current parser being used.
...
Now the global set of all control characters of all (sub)commands is used.
2014-02-09 00:18:00 +04:00
mpeterv
2a49500a01
added cli test
2014-01-26 19:02:36 +04:00
mpeterv
9ae8df55cc
added tests related to help, improved help generation
2014-01-26 17:38:22 +04:00
mpeterv
404ec5213a
Added help message generation; Improved optional arguments handling.
2014-01-26 15:21:11 +04:00
mpeterv
d279429896
added tests related to tips; updated README
2014-01-25 14:46:04 +04:00