@@ -206,8 +206,8 @@ def __init__(self, msg: str = '') -> None:
206206)
207207
208208if TYPE_CHECKING : # pragma: no cover
209- StaticArgParseBuilder = staticmethod [[], argparse . ArgumentParser ]
210- ClassArgParseBuilder = classmethod ['Cmd' | CommandSet , [], argparse . ArgumentParser ]
209+ StaticArgParseBuilder = staticmethod [[], Cmd2ArgumentParser ]
210+ ClassArgParseBuilder = classmethod ['Cmd' | CommandSet , [], Cmd2ArgumentParser ]
211211 from prompt_toolkit .buffer import Buffer
212212else :
213213 StaticArgParseBuilder = staticmethod
@@ -237,7 +237,7 @@ def __init__(self, cmd: 'Cmd') -> None:
237237
238238 # Keyed by the fully qualified method names. This is more reliable than
239239 # the methods themselves, since wrapping a method will change its address.
240- self ._parsers : dict [str , argparse . ArgumentParser ] = {}
240+ self ._parsers : dict [str , Cmd2ArgumentParser ] = {}
241241
242242 @staticmethod
243243 def _fully_qualified_name (command_method : CommandFunc ) -> str :
@@ -256,7 +256,7 @@ def __contains__(self, command_method: CommandFunc) -> bool:
256256 parser = self .get (command_method )
257257 return bool (parser )
258258
259- def get (self , command_method : CommandFunc ) -> argparse . ArgumentParser | None :
259+ def get (self , command_method : CommandFunc ) -> Cmd2ArgumentParser | None :
260260 """Return a given method's parser or None if the method is not argparse-based.
261261
262262 If the parser does not yet exist, it will be created.
@@ -889,12 +889,9 @@ def register_command_set(self, cmdset: CommandSet) -> None:
889889 def _build_parser (
890890 self ,
891891 parent : CmdOrSet ,
892- parser_builder : argparse .ArgumentParser
893- | Callable [[], argparse .ArgumentParser ]
894- | StaticArgParseBuilder
895- | ClassArgParseBuilder ,
892+ parser_builder : Cmd2ArgumentParser | Callable [[], Cmd2ArgumentParser ] | StaticArgParseBuilder | ClassArgParseBuilder ,
896893 prog : str ,
897- ) -> argparse . ArgumentParser :
894+ ) -> Cmd2ArgumentParser :
898895 """Build argument parser for a command/subcommand.
899896
900897 :param parent: object which owns the command using the parser.
@@ -911,7 +908,7 @@ def _build_parser(
911908 parser = parser_builder .__func__ (parent .__class__ )
912909 elif callable (parser_builder ):
913910 parser = parser_builder ()
914- elif isinstance (parser_builder , argparse . ArgumentParser ):
911+ elif isinstance (parser_builder , Cmd2ArgumentParser ):
915912 parser = copy .deepcopy (parser_builder )
916913 else :
917914 raise TypeError (f"Invalid type for parser_builder: { type (parser_builder )} " )
@@ -1021,7 +1018,7 @@ def unregister_command_set(self, cmdset: CommandSet) -> None:
10211018 self ._installed_command_sets .remove (cmdset )
10221019
10231020 def _check_uninstallable (self , cmdset : CommandSet ) -> None :
1024- def check_parser_uninstallable (parser : argparse . ArgumentParser ) -> None :
1021+ def check_parser_uninstallable (parser : Cmd2ArgumentParser ) -> None :
10251022 cmdset_id = id (cmdset )
10261023 for action in parser ._actions :
10271024 if isinstance (action , argparse ._SubParsersAction ):
@@ -1098,9 +1095,7 @@ def _register_subcommands(self, cmdset: Union[CommandSet, 'Cmd']) -> None:
10981095 f"Could not find argparser for command '{ command_name } ' needed by subcommand: { method } "
10991096 )
11001097
1101- def find_subcommand (
1102- action : argparse .ArgumentParser , subcmd_names : MutableSequence [str ]
1103- ) -> argparse .ArgumentParser :
1098+ def find_subcommand (action : Cmd2ArgumentParser , subcmd_names : MutableSequence [str ]) -> Cmd2ArgumentParser :
11041099 if not subcmd_names :
11051100 return action
11061101 cur_subcmd = subcmd_names .pop (0 )
@@ -2349,7 +2344,7 @@ def _redirect_complete(self, text: str, line: str, begidx: int, endidx: int, com
23492344 return compfunc (text , line , begidx , endidx )
23502345
23512346 @staticmethod
2352- def _determine_ap_completer_type (parser : argparse . ArgumentParser ) -> type [argparse_completer .ArgparseCompleter ]:
2347+ def _determine_ap_completer_type (parser : Cmd2ArgumentParser ) -> type [argparse_completer .ArgparseCompleter ]:
23532348 """Determine what type of ArgparseCompleter to use on a given parser.
23542349
23552350 If the parser does not have one set, then use argparse_completer.DEFAULT_AP_COMPLETER.
@@ -3455,7 +3450,7 @@ def _resolve_completer(
34553450 choices : Iterable [Any ] | None = None ,
34563451 choices_provider : ChoicesProviderUnbound [CmdOrSet ] | None = None ,
34573452 completer : CompleterUnbound [CmdOrSet ] | None = None ,
3458- parser : argparse . ArgumentParser | None = None ,
3453+ parser : Cmd2ArgumentParser | None = None ,
34593454 ) -> Completer :
34603455 """Determine the appropriate completer based on provided arguments."""
34613456 if not any ((parser , choices , choices_provider , completer )):
@@ -3487,7 +3482,7 @@ def read_input(
34873482 choices : Iterable [Any ] | None = None ,
34883483 choices_provider : ChoicesProviderUnbound [CmdOrSet ] | None = None ,
34893484 completer : CompleterUnbound [CmdOrSet ] | None = None ,
3490- parser : argparse . ArgumentParser | None = None ,
3485+ parser : Cmd2ArgumentParser | None = None ,
34913486 ) -> str :
34923487 """Read a line of input with optional completion and history.
34933488
0 commit comments