Skip to content

Commit 245a9e4

Browse files
committed
Add very simple shell completion using argcomplete
1 parent 749c6a7 commit 245a9e4

3 files changed

Lines changed: 25 additions & 3 deletions

File tree

meshtastic/__main__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
# pylint: disable=too-many-lines
77

88
import argparse
9+
try:
10+
import argcomplete
11+
except ImportError as e:
12+
argcomplete = None
13+
914
import logging
1015
import os
1116
import platform
@@ -1961,6 +1966,8 @@ def initParser():
19611966

19621967
parser.set_defaults(deprecated=None)
19631968

1969+
if argcomplete is not None:
1970+
argcomplete.autocomplete(parser)
19641971
args = parser.parse_args()
19651972
mt_config.args = args
19661973
mt_config.parser = parser

poetry.lock

Lines changed: 16 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pyyaml = "^6.0.1"
1616
pypubsub = "^4.0.3"
1717
bleak = "^0.22.3"
1818
packaging = "^24.0"
19+
argcomplete = { version = "^3.5.2", optional = true }
1920
pyqrcode = { version = "^1.2.1", optional = true }
2021
dotmap = { version = "^1.3.30", optional = true }
2122
print-color = { version = "^0.4.6", optional = true }
@@ -64,7 +65,7 @@ ipywidgets = "^8.1.3"
6465
jupyterlab-widgets = "^3.0.11"
6566

6667
[tool.poetry.extras]
67-
cli = ["pyqrcode", "print-color", "dotmap"]
68+
cli = ["pyqrcode", "print-color", "dotmap", "argcomplete"]
6869
tunnel = ["pytap2"]
6970
analysis = ["dash", "dash-bootstrap-components", "pandas", "pandas-stubs"]
7071

0 commit comments

Comments
 (0)