Skip to content

Commit 8ca91aa

Browse files
committed
shtab
1 parent 098189c commit 8ca91aa

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

poetry.lock

Lines changed: 13 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ python = "^3.9"
6262
click = "~8"
6363
libvcs = "~0.17.0"
6464
colorama = ">=0.3.9"
65+
shtab = "^1.5.5"
6566

6667
[tool.poetry.dev-dependencies]
6768
### Docs ###

src/vcspull/cli/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import argparse
88
import logging
99

10+
import shtab
11+
1012
from libvcs.__about__ import __version__ as libvcs_version
1113

1214
from ..__about__ import __version__
@@ -18,6 +20,7 @@
1820

1921
def create_parser():
2022
parser = argparse.ArgumentParser(prog="vcspull")
23+
shtab.add_argument_to(parser, ["-s", "--print-completion"])
2124
parser.add_argument(
2225
"--version",
2326
"-V",
@@ -31,6 +34,13 @@ def create_parser():
3134
help="Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
3235
)
3336
subparsers = parser.add_subparsers(dest="subparser_name")
37+
# subparsers.required = True
38+
completion_parser = subparsers.add_parser("completion", help="print tab completion")
39+
shtab.add_argument_to(
40+
completion_parser,
41+
"shell",
42+
parent=parser,
43+
) # magic!
3444
sync_parser = subparsers.add_parser("sync")
3545
create_sync_subparser(sync_parser)
3646

0 commit comments

Comments
 (0)