diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2018-09-25 19:14:38 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2018-09-25 19:14:38 -0400 |
commit | 58f61984849f239c443026b5e41e0281032dd910 (patch) | |
tree | 45c8c4e26181c745a0f7244685d26a020aa0166a /cmd2/argparse_completer.py | |
parent | 10704a06b2da6a29ffd04fae15164a2d0ea83269 (diff) | |
parent | 8b12ab9f01c5a2b08c72fd4d2e1aaa15b402ead4 (diff) | |
download | cmd2-git-58f61984849f239c443026b5e41e0281032dd910.tar.gz |
Merge branch 'master' into macro
Diffstat (limited to 'cmd2/argparse_completer.py')
-rwxr-xr-x | cmd2/argparse_completer.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py index 0c0bc6a1..02f64979 100755 --- a/cmd2/argparse_completer.py +++ b/cmd2/argparse_completer.py @@ -510,6 +510,18 @@ class AutoCompleter(object): return self.basic_complete(text, line, begidx, endidx, completers.keys()) return [] + def format_help(self, tokens: List[str]) -> str: + """Supports the completion of sub-commands for commands through the cmd2 help command.""" + for idx, token in enumerate(tokens): + if idx >= self._token_start_index: + if self._positional_completers: + # For now argparse only allows 1 sub-command group per level + # so this will only loop once. + for completers in self._positional_completers.values(): + if token in completers: + return completers[token].format_help(tokens) + return self._parser.format_help() + @staticmethod def _process_action_nargs(action: argparse.Action, arg_state: _ArgumentState) -> None: if isinstance(action, _RangeAction): |