MCPcopy Index your code
hub / github.com/python-cmd2/cmd2 / _resolve_completer

Method _resolve_completer

cmd2/cmd2.py:3493–3520  ·  view source on GitHub ↗

Determine the appropriate completer based on provided arguments.

(
        self,
        preserve_quotes: bool = False,
        choices: Iterable[Any] | None = None,
        choices_provider: UnboundChoicesProvider[CmdOrSetT] | None = None,
        completer: UnboundCompleter[CmdOrSetT] | None = None,
        parser: Cmd2ArgumentParser | None = None,
    )

Source from the content-addressed store, hash-verified

3491 return line.rstrip("\r\n")
3492
3493 def _resolve_completer(
3494 self,
3495 preserve_quotes: bool = False,
3496 choices: Iterable[Any] | None = None,
3497 choices_provider: UnboundChoicesProvider[CmdOrSetT] | None = None,
3498 completer: UnboundCompleter[CmdOrSetT] | None = None,
3499 parser: Cmd2ArgumentParser | None = None,
3500 ) -> Completer:
3501 """Determine the appropriate completer based on provided arguments."""
3502 if not any((parser, choices, choices_provider, completer)):
3503 return DummyCompleter()
3504
3505 if parser and any((choices, choices_provider, completer)):
3506 err_msg = "None of the following parameters can be used alongside a parser:\nchoices, choices_provider, completer"
3507 raise ValueError(err_msg)
3508
3509 if parser is None:
3510 parser = argparse_utils.DEFAULT_ARGUMENT_PARSER(add_help=False)
3511 parser.add_argument(
3512 "arg",
3513 suppress_tab_hint=True,
3514 choices=choices,
3515 choices_provider=choices_provider,
3516 completer=completer,
3517 )
3518
3519 settings = utils.CustomCompletionSettings(parser, preserve_quotes=preserve_quotes)
3520 return Cmd2Completer(self, custom_settings=settings)
3521
3522 def read_input(
3523 self,

Calls 1

Cmd2CompleterClass · 0.85