Detect compose plugin

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
This commit is contained in:
Ulysses Souza 2021-07-08 09:07:08 -03:00
parent 1148163c3e
commit 5a8d7d506c
1 changed files with 13 additions and 11 deletions

View File

@ -5486,21 +5486,21 @@ _docker_wait() {
_docker_container_wait _docker_container_wait
} }
COMPOSE_PLUGIN_PATH=$(docker info --format '{{json .ClientInfo.Plugins}}' | sed -n 's/.*"Path":"\([^"]\+docker-compose\)".*/\1/p')
_docker_compose() { _docker_compose() {
local composePluginPath="${HOME}/.docker/cli-plugins/docker-compose"
local completionCommand="__completeNoDesc" local completionCommand="__completeNoDesc"
local resultArray=(${composePluginPath} ${completionCommand} compose) local resultArray=($COMPOSE_PLUGIN_PATH $completionCommand compose)
for value in "${words[@]:2}" for value in "${words[@]:2}"; do
do if [ -z "$value" ]; then
if [[ "${value}" == "" ]] ; then
resultArray+=( "''" ) resultArray+=( "''" )
else else
resultArray+=( "${value}" ) resultArray+=( "$value" )
fi fi
done done
local result=$(eval "${resultArray[*]}" 2> /dev/null) local result=$(eval "${resultArray[*]}" 2> /dev/null | grep -v '^:[0-9]*$')
COMPREPLY=( $(compgen -W "${result%%:*}" -- "$current") ) COMPREPLY=( $(compgen -W "${result}" -- "$current") )
} }
_docker() { _docker() {
@ -5572,9 +5572,11 @@ _docker() {
wait wait
) )
local known_plugin_commands=( local known_plugin_commands=()
compose
) if [ -f "$COMPOSE_PLUGIN_PATH" ] ; then
known_plugin_commands+=("compose")
fi
local experimental_server_commands=( local experimental_server_commands=(
checkpoint checkpoint