Skip to content

Commit fc668f0

Browse files
committed
Made some type hints more strict.
1 parent b032bf0 commit fc668f0

4 files changed

Lines changed: 13 additions & 9 deletions

File tree

cmd2/argparse_completer.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from .exceptions import CompletionError
3636
from .rich_utils import Cmd2SimpleTable
3737
from .types import (
38+
CmdOrSetT,
3839
UnboundChoicesProvider,
3940
UnboundCompleter,
4041
)
@@ -733,7 +734,7 @@ def _choices_to_items(self, arg_state: _ArgumentState) -> list[CompletionItem]:
733734

734735
def _prepare_callable_params(
735736
self,
736-
to_call: UnboundChoicesProvider[Any] | UnboundCompleter[Any],
737+
to_call: UnboundChoicesProvider[CmdOrSetT] | UnboundCompleter[CmdOrSetT],
737738
arg_state: _ArgumentState,
738739
text: str,
739740
consumed_arg_values: dict[str, list[str]],

cmd2/argparse_custom.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ def get_choices(self) -> Choices:
262262
from .rich_utils import Cmd2RichArgparseConsole
263263
from .styles import Cmd2Style
264264
from .types import (
265+
CmdOrSetT,
265266
UnboundChoicesProvider,
266267
UnboundCompleter,
267268
)
@@ -387,8 +388,8 @@ def _ActionsContainer_add_argument( # noqa: N802
387388
self: argparse._ActionsContainer,
388389
*args: Any,
389390
nargs: int | str | tuple[int] | tuple[int, int] | tuple[int, float] | None = None,
390-
choices_provider: UnboundChoicesProvider[Any] | None = None,
391-
completer: UnboundCompleter[Any] | None = None,
391+
choices_provider: UnboundChoicesProvider[CmdOrSetT] | None = None,
392+
completer: UnboundCompleter[CmdOrSetT] | None = None,
392393
suppress_tab_hint: bool = False,
393394
table_columns: Sequence[str | Column] | None = None,
394395
**kwargs: Any,

cmd2/cmd2.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
BoundCommandFunc,
164164
BoundCompleter,
165165
CmdOrSet,
166+
CmdOrSetT,
166167
UnboundChoicesProvider,
167168
UnboundCompleter,
168169
)
@@ -3478,8 +3479,8 @@ def _resolve_completer(
34783479
self,
34793480
preserve_quotes: bool = False,
34803481
choices: Iterable[Any] | None = None,
3481-
choices_provider: UnboundChoicesProvider[Any] | None = None,
3482-
completer: UnboundCompleter[Any] | None = None,
3482+
choices_provider: UnboundChoicesProvider[CmdOrSetT] | None = None,
3483+
completer: UnboundCompleter[CmdOrSetT] | None = None,
34833484
parser: Cmd2ArgumentParser | None = None,
34843485
) -> Completer:
34853486
"""Determine the appropriate completer based on provided arguments."""
@@ -3510,8 +3511,8 @@ def read_input(
35103511
history: Sequence[str] | None = None,
35113512
preserve_quotes: bool = False,
35123513
choices: Iterable[Any] | None = None,
3513-
choices_provider: UnboundChoicesProvider[Any] | None = None,
3514-
completer: UnboundCompleter[Any] | None = None,
3514+
choices_provider: UnboundChoicesProvider[CmdOrSetT] | None = None,
3515+
completer: UnboundCompleter[CmdOrSetT] | None = None,
35153516
parser: Cmd2ArgumentParser | None = None,
35163517
) -> str:
35173518
"""Read a line of input with optional completion and history.

cmd2/utils.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from . import string_utils as su
3030
from .types import (
3131
CmdOrSet,
32+
CmdOrSetT,
3233
UnboundChoicesProvider,
3334
UnboundCompleter,
3435
)
@@ -76,8 +77,8 @@ def __init__(
7677
settable_attrib_name: str | None = None,
7778
onchange_cb: Callable[[str, Any, Any], Any] | None = None,
7879
choices: Iterable[Any] | None = None,
79-
choices_provider: UnboundChoicesProvider[Any] | None = None,
80-
completer: UnboundCompleter[Any] | None = None,
80+
choices_provider: UnboundChoicesProvider[CmdOrSetT] | None = None,
81+
completer: UnboundCompleter[CmdOrSetT] | None = None,
8182
) -> None:
8283
"""Settable Initializer.
8384

0 commit comments

Comments
 (0)