summaryrefslogtreecommitdiff
path: root/cmd2/argparse_completer.py
diff options
context:
space:
mode:
authorTodd Leonhardt <todd.leonhardt@gmail.com>2021-02-19 21:40:15 -0500
committerTodd Leonhardt <todd.leonhardt@gmail.com>2021-02-19 21:40:15 -0500
commit486b8c726a7d657ef320e68598077c31fa664790 (patch)
tree46b53d0f530d6ae273c4379272684ee80026658a /cmd2/argparse_completer.py
parent3e180a810e9c4b9d251c135667d1d150b0bbd0dd (diff)
downloadcmd2-git-486b8c726a7d657ef320e68598077c31fa664790.tar.gz
Fixed black, isort, flake8, and doc8 issues
Diffstat (limited to 'cmd2/argparse_completer.py')
-rw-r--r--cmd2/argparse_completer.py43
1 files changed, 28 insertions, 15 deletions
diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py
index 99378733..f19e9e2c 100644
--- a/cmd2/argparse_completer.py
+++ b/cmd2/argparse_completer.py
@@ -208,8 +208,9 @@ class ArgparseCompleter:
if isinstance(action, argparse._SubParsersAction):
self._subcommand_action = action
- def complete(self, text: str, line: str, begidx: int, endidx: int, tokens: List[str], *,
- cmd_set: Optional[CommandSet] = None) -> List[str]:
+ def complete(
+ self, text: str, line: str, begidx: int, endidx: int, tokens: List[str], *, cmd_set: Optional[CommandSet] = None
+ ) -> List[str]:
"""
Complete text using argparse metadata
@@ -391,10 +392,12 @@ class ArgparseCompleter:
if action.dest != argparse.SUPPRESS:
parent_tokens[action.dest] = [token]
- completer = ArgparseCompleter(self._subcommand_action.choices[token], self._cmd2_app,
- parent_tokens=parent_tokens)
- return completer.complete(text, line, begidx, endidx, tokens[token_index + 1:],
- cmd_set=cmd_set)
+ completer = ArgparseCompleter(
+ self._subcommand_action.choices[token], self._cmd2_app, parent_tokens=parent_tokens
+ )
+ return completer.complete(
+ text, line, begidx, endidx, tokens[token_index + 1 :], cmd_set=cmd_set
+ )
else:
# Invalid subcommand entered, so no way to complete remaining tokens
return []
@@ -438,8 +441,9 @@ class ArgparseCompleter:
# Check if we are completing a flag's argument
if flag_arg_state is not None:
- completion_results = self._complete_arg(text, line, begidx, endidx, flag_arg_state, consumed_arg_values,
- cmd_set=cmd_set)
+ completion_results = self._complete_arg(
+ text, line, begidx, endidx, flag_arg_state, consumed_arg_values, cmd_set=cmd_set
+ )
# If we have results, then return them
if completion_results:
@@ -464,8 +468,9 @@ class ArgparseCompleter:
action = remaining_positionals.popleft()
pos_arg_state = _ArgumentState(action)
- completion_results = self._complete_arg(text, line, begidx, endidx, pos_arg_state, consumed_arg_values,
- cmd_set=cmd_set)
+ completion_results = self._complete_arg(
+ text, line, begidx, endidx, pos_arg_state, consumed_arg_values, cmd_set=cmd_set
+ )
# If we have results, then return them
if completion_results:
@@ -587,7 +592,7 @@ class ArgparseCompleter:
for token_index, token in enumerate(tokens):
if token in self._subcommand_action.choices:
completer = ArgparseCompleter(self._subcommand_action.choices[token], self._cmd2_app)
- return completer.complete_subcommand_help(text, line, begidx, endidx, tokens[token_index + 1:])
+ return completer.complete_subcommand_help(text, line, begidx, endidx, tokens[token_index + 1 :])
elif token_index == len(tokens) - 1:
# Since this is the last token, we will attempt to complete it
return self._cmd2_app.basic_complete(text, line, begidx, endidx, self._subcommand_action.choices)
@@ -607,14 +612,22 @@ class ArgparseCompleter:
for token_index, token in enumerate(tokens):
if token in self._subcommand_action.choices:
completer = ArgparseCompleter(self._subcommand_action.choices[token], self._cmd2_app)
- return completer.format_help(tokens[token_index + 1:])
+ return completer.format_help(tokens[token_index + 1 :])
else:
break
return self._parser.format_help()
- def _complete_arg(self, text: str, line: str, begidx: int, endidx: int,
- arg_state: _ArgumentState, consumed_arg_values: Dict[str, List[str]], *,
- cmd_set: Optional[CommandSet] = None) -> List[str]:
+ def _complete_arg(
+ self,
+ text: str,
+ line: str,
+ begidx: int,
+ endidx: int,
+ arg_state: _ArgumentState,
+ consumed_arg_values: Dict[str, List[str]],
+ *,
+ cmd_set: Optional[CommandSet] = None
+ ) -> List[str]:
"""
Tab completion routine for an argparse argument
:return: list of completions