diff options
-rw-r--r-- | cmd2/argparse_completer.py | 10 | ||||
-rw-r--r-- | tests/test_argparse_completer.py | 4 |
2 files changed, 8 insertions, 6 deletions
diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py index b6d22dce..2bf08ce4 100644 --- a/cmd2/argparse_completer.py +++ b/cmd2/argparse_completer.py @@ -68,6 +68,9 @@ from .argparse_custom import ATTR_SUPPRESS_TAB_HINT, ATTR_DESCRIPTIVE_COMPLETION from .argparse_custom import ChoicesCallable, ATTR_CHOICES_CALLABLE from .rl_utils import rl_force_redisplay +# If no descriptive header is supplied, then this will be used instead +DEFAULT_DESCRIPTIVE_HEADER = 'Description' + class CompletionItem(str): """ @@ -512,10 +515,9 @@ class AutoCompleter(object): fill_width=fill_width) completions_with_desc.append(entry) - try: - desc_header = getattr(action, ATTR_DESCRIPTIVE_COMPLETION_HEADER) - except AttributeError: - desc_header = 'Description' + desc_header = getattr(action, ATTR_DESCRIPTIVE_COMPLETION_HEADER, None) + if desc_header is None: + desc_header = DEFAULT_DESCRIPTIVE_HEADER header = '\n{: <{token_width}}{}'.format(action.dest.upper(), desc_header, token_width=token_width + 2) self._cmd2_app.completion_header = header diff --git a/tests/test_argparse_completer.py b/tests/test_argparse_completer.py index 26bea794..3c4fca77 100644 --- a/tests/test_argparse_completer.py +++ b/tests/test_argparse_completer.py @@ -49,7 +49,7 @@ class AutoCompleteTester(cmd2.Cmd): choices_parser = Cmd2ArgParser() - # Flags args for choices command + # Flag args for choices command choices_parser.add_argument("-l", "--list", help="a flag populated with a choices list", choices=static_choices_list) choices_parser.add_argument("-f", "--function", help="a flag populated with a choices function", @@ -78,7 +78,7 @@ class AutoCompleteTester(cmd2.Cmd): completer_parser = Cmd2ArgParser() - # Flags args for completer command + # Flag args for completer command completer_parser.add_argument("-f", "--function", help="a flag using a completer function", completer_function=completer_function) completer_parser.add_argument("-m", "--method", help="a flag using a completer method", |