#compdef gdctl # Run something, muting output or redirecting it to the debug stream # depending on the value of _ARC_DEBUG. # If ARGCOMPLETE_USE_TEMPFILES is set, use tempfiles for IPC. __python_argcomplete_run() { if [[ -z "${ARGCOMPLETE_USE_TEMPFILES-}" ]]; then __python_argcomplete_run_inner "$@" return fi local tmpfile="$(mktemp)" _ARGCOMPLETE_STDOUT_FILENAME="$tmpfile" __python_argcomplete_run_inner "$@" local code=$? cat "$tmpfile" rm "$tmpfile" return $code } __python_argcomplete_run_inner() { if [[ -z "${_ARC_DEBUG-}" ]]; then "$@" 8>&1 9>&2 1>/dev/null 2>&1 &1 9>&2 1>&9 2>&1 /dev/null; then SUPPRESS_SPACE=1 fi COMPREPLY=($(IFS="$IFS" \ COMP_LINE="$COMP_LINE" \ COMP_POINT="$COMP_POINT" \ COMP_TYPE="$COMP_TYPE" \ _ARGCOMPLETE_COMP_WORDBREAKS="$COMP_WORDBREAKS" \ _ARGCOMPLETE=1 \ _ARGCOMPLETE_SHELL="bash" \ _ARGCOMPLETE_SUPPRESS_SPACE=$SUPPRESS_SPACE \ __python_argcomplete_run ${script:-$1})) if [[ $? != 0 ]]; then unset COMPREPLY elif [[ $SUPPRESS_SPACE == 1 ]] && [[ "${COMPREPLY-}" =~ [=/:]$ ]]; then compopt -o nospace fi fi } if [[ -z "${ZSH_VERSION-}" ]]; then complete -o nosort -F _python_argcomplete gdctl else # When called by the Zsh completion system, this will end with # "loadautofunc" when initially autoloaded and "shfunc" later on, otherwise, # the script was "eval"-ed so use "compdef" to register it with the # completion system autoload is-at-least if [[ $zsh_eval_context == *func ]]; then _python_argcomplete "$@" else compdef _python_argcomplete gdctl fi fi