Skip to content

Commit eb60f65

Browse files
authored
Merge pull request #58 from simaoafonso-pwt/tcsh-suppress
2 parents 3aca487 + 5358dda commit eb60f65

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

examples/customcomplete.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323

2424

2525
def process(args):
26-
print("received <input_txt>=%r --input-file=%r --output-name=%r" %
27-
(args.input_txt, args.input_file, args.output_name))
26+
print(
27+
"received <input_txt>=%r [<suffix>=%r] --input-file=%r --output-name=%r --hidden-opt=%r" %
28+
(args.input_txt, args.suffix, args.input_file, args.output_name, args.hidden_opt))
2829

2930

3031
def get_main_parser():
@@ -39,7 +40,7 @@ def get_main_parser():
3940

4041
parser = subparsers.add_parser("process", help="parse files")
4142
# `*.txt` file tab completion
42-
parser.add_argument("input_txt", nargs="?").complete = TXT_FILE
43+
parser.add_argument("input_txt", nargs='?').complete = TXT_FILE
4344
# file tab completion builtin shortcut
4445
parser.add_argument("-i", "--input-file").complete = shtab.FILE
4546
parser.add_argument(
@@ -50,8 +51,9 @@ def get_main_parser():
5051
).complete = shtab.DIRECTORY
5152
# directory tab completion builtin shortcut
5253

53-
main_parser.add_argument('suffix', choices=['json', 'csv'], default='json',
54-
help="Output format")
54+
parser.add_argument("suffix", choices=['json', 'csv'], default='json', nargs='?',
55+
help="Output format")
56+
parser.add_argument("--hidden-opt", action='store_true', help=argparse.SUPPRESS)
5557
parser.set_defaults(func=process)
5658
return main_parser
5759

shtab/__init__.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -624,14 +624,15 @@ def recurse_parser(cparser, positional_idx, requirements=None):
624624

625625
for optional in cparser._get_optional_actions():
626626
log.debug('%s| Optional: %s', log_prefix, optional.dest)
627-
# Mingle all optional arguments for all subparsers
628-
for optional_str in optional.option_strings:
629-
log.debug('%s| | %s', log_prefix, optional_str)
630-
if optional_str.startswith('--'):
631-
optionals_double.add(optional_str[2:])
632-
elif optional_str.startswith('-'):
633-
optionals_single.add(optional_str[1:])
634-
specials.extend(get_specials(optional, 'n', optional_str))
627+
if optional.help != SUPPRESS:
628+
# Mingle all optional arguments for all subparsers
629+
for optional_str in optional.option_strings:
630+
log.debug('%s| | %s', log_prefix, optional_str)
631+
if optional_str.startswith('--'):
632+
optionals_double.add(optional_str[2:])
633+
elif optional_str.startswith('-'):
634+
optionals_single.add(optional_str[1:])
635+
specials.extend(get_specials(optional, 'n', optional_str))
635636

636637
for positional in cparser._get_positional_actions():
637638
if positional.help != SUPPRESS:

0 commit comments

Comments
 (0)