Skip to content
This repository has been archived by the owner on Oct 13, 2023. It is now read-only.

Commit

Permalink
Merge pull request #104 from andrewhsu/backport-completion-scripts
Browse files Browse the repository at this point in the history
[17.06] backport various completion script updates
  • Loading branch information
andrewhsu authored Jul 12, 2017
2 parents 0aba544 + 8cf887b commit f1d6145
Showing 1 changed file with 79 additions and 18 deletions.
97 changes: 79 additions & 18 deletions components/cli/contrib/completion/bash/docker
Original file line number Diff line number Diff line change
Expand Up @@ -1413,7 +1413,7 @@ _docker_container_port() {
_docker_container_prune() {
case "$prev" in
--filter)
COMPREPLY=( $( compgen -W "until" -S = -- "$cur" ) )
COMPREPLY=( $( compgen -W "label label! until" -S = -- "$cur" ) )
__docker_nospace
return
;;
Expand Down Expand Up @@ -2428,7 +2428,7 @@ _docker_image_ls() {
_docker_image_prune() {
case "$prev" in
--filter)
COMPREPLY=( $( compgen -W "until" -S = -- "$cur" ) )
COMPREPLY=( $( compgen -W "label label! until" -S = -- "$cur" ) )
__docker_nospace
return
;;
Expand Down Expand Up @@ -2704,26 +2704,34 @@ _docker_network_connect() {

_docker_network_create() {
case "$prev" in
--aux-address|--gateway|--internal|--ip-range|--ipam-opt|--ipv6|--opt|-o|--subnet)
--aux-address|--gateway|--ip-range|--ipam-opt|--ipv6|--opt|-o|--subnet)
return
;;
--ipam-driver)
COMPREPLY=( $( compgen -W "default" -- "$cur" ) )
--config-from)
__docker_complete_networks
return
;;
--driver|-d)
# remove drivers that allow one instance only, add drivers missing in `docker info`
__docker_complete_plugins_bundled --type Network --remove host --remove null --add macvlan
return
;;
--ipam-driver)
COMPREPLY=( $( compgen -W "default" -- "$cur" ) )
return
;;
--label)
return
;;
--scope)
COMPREPLY=( $( compgen -W "local swarm" -- "$cur" ) )
return
;;
esac

case "$cur" in
-*)
COMPREPLY=( $( compgen -W "--attachable --aux-address --driver -d --gateway --help --internal --ip-range --ipam-driver --ipam-opt --ipv6 --label --opt -o --subnet" -- "$cur" ) )
COMPREPLY=( $( compgen -W "--attachable --aux-address --config-from --config-only --driver -d --gateway --help --ingress --internal --ip-range --ipam-driver --ipam-opt --ipv6 --label --opt -o --scope --subnet" -- "$cur" ) )
;;
esac
}
Expand Down Expand Up @@ -2806,7 +2814,7 @@ _docker_network_ls() {
_docker_network_prune() {
case "$prev" in
--filter)
COMPREPLY=( $( compgen -W "until" -S = -- "$cur" ) )
COMPREPLY=( $( compgen -W "label label! until" -S = -- "$cur" ) )
__docker_nospace
return
;;
Expand Down Expand Up @@ -3039,6 +3047,7 @@ _docker_service_update() {
_docker_service_update_and_create() {
local options_with_args="
--endpoint-mode
--entrypoint
--env -e
--force
--health-cmd
Expand All @@ -3053,7 +3062,6 @@ _docker_service_update_and_create() {
--log-driver
--log-opt
--mount
--network
--replicas
--reserve-cpu
--reserve-memory
Expand All @@ -3065,19 +3073,22 @@ _docker_service_update_and_create() {
--rollback-failure-action
--rollback-max-failure-ratio
--rollback-monitor
--rollback-order
--rollback-parallelism
--stop-grace-period
--stop-signal
--update-delay
--update-failure-action
--update-max-failure-ratio
--update-monitor
--update-order
--update-parallelism
--user -u
--workdir -w
"

local boolean_options="
--detach -d
--help
--no-healthcheck
--read-only
Expand All @@ -3099,6 +3110,7 @@ _docker_service_update_and_create() {
--host
--mode
--name
--network
--placement-pref
--publish -p
--secret
Expand Down Expand Up @@ -3138,7 +3150,7 @@ _docker_service_update_and_create() {
fi
if [ "$subcommand" = "update" ] ; then
options_with_args="$options_with_args
--arg
--args
--constraint-add
--constraint-rm
--container-label-add
Expand All @@ -3154,6 +3166,8 @@ _docker_service_update_and_create() {
--host-add
--host-rm
--image
--network-add
--network-rm
--placement-pref-add
--placement-pref-rm
--publish-add
Expand All @@ -3180,6 +3194,10 @@ _docker_service_update_and_create() {
__docker_complete_image_repos_and_tags
return
;;
--network-add|--network-rm)
__docker_complete_networks
return
;;
--placement-pref-add|--placement-pref-rm)
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
__docker_nospace
Expand Down Expand Up @@ -3240,6 +3258,10 @@ _docker_service_update_and_create() {
COMPREPLY=( $( compgen -W "continue pause rollback" -- "$cur" ) )
return
;;
--update-order|--rollback-order)
COMPREPLY=( $( compgen -W "start-first stop-first" -- "$cur" ) )
return
;;
--user|-u)
__docker_complete_user_group
return
Expand Down Expand Up @@ -3270,6 +3292,7 @@ _docker_service_update_and_create() {

_docker_swarm() {
local subcommands="
ca
init
join
join-token
Expand All @@ -3290,6 +3313,24 @@ _docker_swarm() {
esac
}

_docker_swarm_ca() {
case "$prev" in
--ca-cert|--ca-key)
_filedir
return
;;
--cert-expiry|--external-ca)
return
;;
esac

case "$cur" in
-*)
COMPREPLY=( $( compgen -W "--ca-cert --ca-key --cert-expiry --detach -d --external-ca --help --quiet -q --rotate" -- "$cur" ) )
;;
esac
}

_docker_swarm_init() {
case "$prev" in
--advertise-addr)
Expand All @@ -3308,6 +3349,10 @@ _docker_swarm_init() {
--cert-expiry|--dispatcher-heartbeat|--external-ca|--max-snapshots|--snapshot-interval|--task-history-limit)
return
;;
--data-path-addr)
__docker_complete_local_interfaces
return
;;
--listen-addr)
if [[ $cur == *: ]] ; then
COMPREPLY=( $( compgen -W "2377" -- "${cur##*:}" ) )
Expand All @@ -3321,7 +3366,7 @@ _docker_swarm_init() {

case "$cur" in
-*)
COMPREPLY=( $( compgen -W "--advertise-addr --data-path-addr --autolock --availability --cert-expiry --dispatcher-heartbeat --external-ca --force-new-cluster --help --listen-addr --max-snapshots --snapshot-interval --task-history-limit" -- "$cur" ) )
COMPREPLY=( $( compgen -W "--advertise-addr --autolock --availability --cert-expiry --data-path-addr --dispatcher-heartbeat --external-ca --force-new-cluster --help --listen-addr --max-snapshots --snapshot-interval --task-history-limit" -- "$cur" ) )
;;
esac
}
Expand All @@ -3337,6 +3382,14 @@ _docker_swarm_join() {
fi
return
;;
--availability)
COMPREPLY=( $( compgen -W "active drain pause" -- "$cur" ) )
return
;;
--data-path-addr)
__docker_complete_local_interfaces
return
;;
--listen-addr)
if [[ $cur == *: ]] ; then
COMPREPLY=( $( compgen -W "2377" -- "${cur##*:}" ) )
Expand All @@ -3346,18 +3399,14 @@ _docker_swarm_join() {
fi
return
;;
--availability)
COMPREPLY=( $( compgen -W "active drain pause" -- "$cur" ) )
return
;;
--token)
return
;;
esac

case "$cur" in
-*)
COMPREPLY=( $( compgen -W "--advertise-addr --data-path-addr --availability --help --listen-addr --token" -- "$cur" ) )
COMPREPLY=( $( compgen -W "--advertise-addr --availability --data-path-addr --help --listen-addr --token" -- "$cur" ) )
;;
*:)
COMPREPLY=( $( compgen -W "2377" -- "${cur##*:}" ) )
Expand Down Expand Up @@ -4230,13 +4279,16 @@ _docker_system_events() {
destroy
detach
die
disable
disconnect
enable
exec_create
exec_detach
exec_start
export
health_status
import
install
kill
load
mount
Expand All @@ -4245,6 +4297,7 @@ _docker_system_events() {
pull
push
reload
remove
rename
resize
restart
Expand All @@ -4270,7 +4323,7 @@ _docker_system_events() {
return
;;
type)
COMPREPLY=( $( compgen -W "container daemon image network volume" -- "${cur##*=}" ) )
COMPREPLY=( $( compgen -W "container daemon image network plugin volume" -- "${cur##*=}" ) )
return
;;
volume)
Expand Down Expand Up @@ -4314,7 +4367,7 @@ _docker_system_info() {
_docker_system_prune() {
case "$prev" in
--filter)
COMPREPLY=( $( compgen -W "until" -S = -- "$cur" ) )
COMPREPLY=( $( compgen -W "label label! until" -S = -- "$cur" ) )
__docker_nospace
return
;;
Expand Down Expand Up @@ -4433,9 +4486,17 @@ _docker_volume_ls() {
}

_docker_volume_prune() {
case "$prev" in
--filter)
COMPREPLY=( $( compgen -W "label label!" -S = -- "$cur" ) )
__docker_nospace
return
;;
esac

case "$cur" in
-*)
COMPREPLY=( $( compgen -W "--force -f --help" -- "$cur" ) )
COMPREPLY=( $( compgen -W "--filter --force -f --help" -- "$cur" ) )
;;
esac
}
Expand Down

0 comments on commit f1d6145

Please sign in to comment.