1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Mutually exclusive groups
=========================
A group of arguments and options can be marked as mutually exclusive using ``:mutex(argument_or_option, ...)`` method of the Parser class.
.. code-block:: lua
:linenos:
parser:mutex(
parser:argument "input"
:args "?",
parser:flag "--process-stdin"
)
parser:mutex(
parser:flag "-q --quiet",
parser:flag "-v --verbose"
)
If more than one element of a mutually exclusive group is used, an error is raised.
.. code-block:: none
$ lua script.lua -qv
.. code-block:: none
Usage: script.lua ([-q] | [-v]) [-h] ([<input>] | [--process-stdin])
Error: option '-v' can not be used together with option '-q'
.. code-block:: none
$ lua script.lua file --process-stdin
.. code-block:: none
Usage: script.lua ([-q] | [-v]) [-h] ([<input>] | [--process-stdin])
Error: option '--process-stdin' can not be used together with argument 'input'
|