Mercurial > repos > shellac > sam_consensus_v3
diff env/bin/register-python-argcomplete @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/env/bin/register-python-argcomplete Mon Mar 22 18:12:50 2021 +0000 @@ -0,0 +1,65 @@ +#!/Users/cmdms/OneDrive-UOB/Development/Projects/2021/sam-consensus-v3/env/bin/python3 +# PYTHON_ARGCOMPLETE_OK + +# Copyright 2012-2019, 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 sys +import argparse +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'), 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))