#!/home/runner/work/zwave-js-ui_ynh/zwave-js-ui_ynh/venv/bin/python3 # PYTHON_ARGCOMPLETE_OK # Copyright 2012-2021, Andrey Kislyuk and argcomplete contributors. # Licensed under the Apache License. See https://github.com/kislyuk/argcomplete for more info. """ Register a Python executable for use with the argcomplete module. To perform the registration, source the output of this script in your bash shell (quote the output to avoid interpolation). Example: $ eval "$(register-python-argcomplete my-favorite-script.py)" For Tcsh $ eval `register-python-argcomplete --shell tcsh my-favorite-script.py` For Fish $ register-python-argcomplete --shell fish my-favourite-script.py > ~/.config/fish/my-favourite-script.py.fish """ import argparse import sys import argcomplete parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument( "--no-defaults", dest="use_defaults", action="store_false", default=True, help="When no matches are generated, do not fallback to readline's default completion", ) parser.add_argument( "--complete-arguments", nargs=argparse.REMAINDER, help="arguments to call complete with; use of this option discards default options", ) parser.add_argument( "-s", "--shell", choices=("bash", "tcsh", "fish", "powershell"), default="bash", help="output code for the specified shell" ) parser.add_argument( "-e", "--external-argcomplete-script", help="external argcomplete script for auto completion of the executable" ) parser.add_argument("executable", nargs="+", help="executable to completed (when invoked by exactly this name)") argcomplete.autocomplete(parser) if len(sys.argv) == 1: parser.print_help() sys.exit(1) args = parser.parse_args() sys.stdout.write( argcomplete.shellcode( args.executable, args.use_defaults, args.shell, args.complete_arguments, args.external_argcomplete_script ) )