From 1e16c0ffb1527e4a565902685f9c8a19dec35312 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 11 Jul 2025 10:43:47 +0200 Subject: [PATCH] Cmds: Add argcomplete support argcomplete takes the arguments added to argparse, and builds bash completion with it. Add it to all Cmds based executables. Signed-off-by: Jan Lindemann --- make/project.conf | 2 +- tools/python/jwutils/Cmds.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/make/project.conf b/make/project.conf index 72aa631..bf4e073 100644 --- a/make/project.conf +++ b/make/project.conf @@ -14,7 +14,7 @@ jw-maintainer = jan libname = none [pkg.requires.os] -run = mypy, python3-magic, python3-termcolor, python3-pytimeparse +run = mypy, python3-magic, python3-termcolor, python3-pytimeparse, python3-argcomplete [pkg.requires.jw] devel = jw-python-run = VERSION-REVISION, jw-build-devel = VERSION diff --git a/tools/python/jwutils/Cmds.py b/tools/python/jwutils/Cmds.py index 97e91e1..7cf7f19 100644 --- a/tools/python/jwutils/Cmds.py +++ b/tools/python/jwutils/Cmds.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from typing import Optional -import os, sys, argparse, importlib, inspect, re, pickle, asyncio, cProfile +import os, sys, argcomplete, argparse, importlib, inspect, re, pickle, asyncio, cProfile from argparse import ArgumentParser import jwutils @@ -91,6 +91,7 @@ class Cmds: # export self.__add_cmd_to_parser(cmd, subparsers) async def __run(self, argv=None): + argcomplete.autocomplete(self.__parser) self.args = self.__parser.parse_args(args=argv) set_flags(self.args.log_flags) set_level(self.args.log_level)