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()