Skip to content

Commit 8a01c0a

Browse files
committed
cli/__init__(refactor[typing]): Narrow parser tuple type
why: Replace t.Any in create_parser returns with explicit subparser tuple typing. what: - Add SubparserTuple type alias for six CLI subparsers - Use the alias in create_parser overloads and return annotation
1 parent f081abd commit 8a01c0a

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

src/vcspull/cli/__init__.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@
2525
log = logging.getLogger(__name__)
2626

2727

28+
SubparserTuple: t.TypeAlias = tuple[
29+
argparse.ArgumentParser,
30+
argparse.ArgumentParser,
31+
argparse.ArgumentParser,
32+
argparse.ArgumentParser,
33+
argparse.ArgumentParser,
34+
argparse.ArgumentParser,
35+
]
36+
37+
2838
def build_description(
2939
intro: str,
3040
example_blocks: t.Sequence[tuple[str | None, t.Sequence[str]]],
@@ -208,7 +218,7 @@ def build_description(
208218
@overload
209219
def create_parser(
210220
return_subparsers: t.Literal[True],
211-
) -> tuple[argparse.ArgumentParser, t.Any]: ...
221+
) -> tuple[argparse.ArgumentParser, SubparserTuple]: ...
212222

213223

214224
@overload
@@ -217,7 +227,7 @@ def create_parser(return_subparsers: t.Literal[False]) -> argparse.ArgumentParse
217227

218228
def create_parser(
219229
return_subparsers: bool = False,
220-
) -> argparse.ArgumentParser | tuple[argparse.ArgumentParser, t.Any]:
230+
) -> argparse.ArgumentParser | tuple[argparse.ArgumentParser, SubparserTuple]:
221231
"""Create CLI argument parser for vcspull."""
222232
parser = argparse.ArgumentParser(
223233
prog="vcspull",

0 commit comments

Comments
 (0)