File: mutexes.rst

package info (click to toggle)
lua-argparse 0.7.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 356 kB
  • sloc: python: 38; makefile: 15
file content (40 lines) | stat: -rw-r--r-- 957 bytes parent folder | download | duplicates (3)
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'