arguments: fix compat with argcomplete 1.8 (MR 2134)
When running pmbootstrap on debian bullseye with the distro's python3-argcomplete 1.8 from 2017, tab completion was broken. After disabling stderr redirect to /dev/null, the error appeared: TypeError: package_completer() missing 1 required positional argument: 'parser' Support this ancient version of argcomplete too by setting None as default value for parser (we don't use it anyway). Related: https://wiki.postmarketos.org/wiki/Pmbootstrap_development_guide#Debugging_tab_completion_.28argparse.29
This commit is contained in:
parent
8ace36113c
commit
152bd6753c
|
@ -502,7 +502,7 @@ def arguments_status(subparser):
|
|||
return ret
|
||||
|
||||
|
||||
def package_completer(prefix, action, parser, parsed_args):
|
||||
def package_completer(prefix, action, parser=None, parsed_args=None):
|
||||
args = parsed_args
|
||||
pmb.config.merge_with_args(args)
|
||||
pmb.helpers.args.replace_placeholders(args)
|
||||
|
@ -513,7 +513,7 @@ def package_completer(prefix, action, parser, parsed_args):
|
|||
return packages
|
||||
|
||||
|
||||
def kernel_completer(prefix, action, parser, parsed_args):
|
||||
def kernel_completer(prefix, action, parser=None, parsed_args=None):
|
||||
packages = package_completer("linux-" + prefix, action, parser,
|
||||
parsed_args)
|
||||
return [package.replace("linux-", "", 1) for package in packages]
|
||||
|
|
Loading…
Reference in New Issue