Bug report
Without color, argparse strips the outer [] in a group. But it is not stripped with color.
The following example:
import argparse parser = argparse.ArgumentParser(color=False, prog="PROG") group = parser.add_mutually_exclusive_group() group.add_argument('--foo', action='store_true', help='FOO') group.add_argument('--spam', help='SPAM') group.add_argument('badger', nargs='*', help='BADGER') print(parser.format_usage()) parser = argparse.ArgumentParser(color=True, prog="PROG") group = parser.add_mutually_exclusive_group() group.add_argument('--foo', action='store_true', help='FOO') group.add_argument('--spam', help='SPAM') group.add_argument('badger', nargs='*', help='BADGER') print(parser.format_usage())
outputs:
usage: PROG [-h] [--foo | --spam SPAM | badger ...]
usage: PROG [-h] [--foo | --spam SPAM | [badger ...]]
(the latter line in color).