From 6b4fd9b911e26f724e6d5fc3785ba61b0c06ed28 Mon Sep 17 00:00:00 2001 From: Grant Miller Date: Mon, 27 Aug 2018 18:55:00 -0500 Subject: [PATCH] Add completion for `pmbootstrap kconfig` (!1745) --- pmb/parse/arguments.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pmb/parse/arguments.py b/pmb/parse/arguments.py index d21ed2ba..9cf4b0d8 100644 --- a/pmb/parse/arguments.py +++ b/pmb/parse/arguments.py @@ -224,7 +224,9 @@ def arguments_kconfig(subparser): # "pmbootstrap kconfig check" check = sub.add_parser("check", help="check kernel aport config") check.add_argument("--arch", choices=arch_choices, dest="arch") - check.add_argument("package", default="", nargs='?') + check_package = check.add_argument("package", default="", nargs='?') + if argcomplete: + check_package.completer = kernel_completer # "pmbootstrap kconfig edit" edit = sub.add_parser("edit", help="edit kernel aport config") @@ -235,7 +237,9 @@ def arguments_kconfig(subparser): edit.add_argument("-g", dest="gconfig", action="store_true", help="use gconfig rather than ncurses for kernel" " configuration") - edit.add_argument("package") + edit_package = edit.add_argument("package") + if argcomplete: + edit_package.completer = kernel_completer def arguments_repo_missing(subparser): @@ -263,6 +267,11 @@ def package_completer(prefix, action, parser, parsed_args): return packages +def kernel_completer(prefix, action, parser, parsed_args): + packages = package_completer("linux-" + prefix, action, parser, parsed_args) + return [package.replace("linux-", "", 1) for package in packages] + + def arguments(): parser = argparse.ArgumentParser(prog="pmbootstrap") arch_native = pmb.parse.arch.alpine_native()