Detect compose plugin

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
(cherry picked from commit 5a8d7d506c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Ulysses Souza 2021-07-08 09:07:08 -03:00 committed by Sebastiaan van Stijn
parent b30d250320
commit 613b9362d0
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
1 changed files with 13 additions and 11 deletions

View File

@ -5485,21 +5485,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() {
@ -5571,9 +5571,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