Skip to content

Commit

Permalink
Merge pull request #682 from albers/completion-service-options
Browse files Browse the repository at this point in the history
Fix and simplify bash completion for service env, mounts and labels
  • Loading branch information
Vincent Demeester committed Feb 1, 2018
2 parents 19e4389 + f2b42bb commit 26a2a45
Showing 1 changed file with 38 additions and 57 deletions.
95 changes: 38 additions & 57 deletions contrib/completion/bash/docker
Original file line number Diff line number Diff line change
Expand Up @@ -3354,7 +3354,6 @@ _docker_service_update_and_create() {
local options_with_args="
--endpoint-mode
--entrypoint
--env -e
--force
--health-cmd
--health-interval
Expand All @@ -3363,12 +3362,10 @@ _docker_service_update_and_create() {
--health-timeout
--hostname
--isolation
--label -l
--limit-cpu
--limit-memory
--log-driver
--log-opt
--mount
--replicas
--reserve-cpu
--reserve-memory
Expand Down Expand Up @@ -3416,11 +3413,14 @@ _docker_service_update_and_create() {
--dns
--dns-option
--dns-search
--env -e
--env-file
--generic-resource
--group
--host
--label -l
--mode
--mount
--name
--network
--placement-pref
Expand All @@ -3429,39 +3429,14 @@ _docker_service_update_and_create() {
"

case "$prev" in
--config)
__docker_complete_configs
return
;;
--env-file)
_filedir
return
;;
--group)
COMPREPLY=( $(compgen -g -- "$cur") )
return
;;
--host)
case "$cur" in
*:)
__docker_complete_resolved_hostname
return
;;
esac
;;
--mode)
COMPREPLY=( $( compgen -W "global replicated" -- "$cur" ) )
return
;;
--placement-pref)
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
__docker_nospace
return
;;
--secret)
__docker_complete_secrets
return
;;
esac
fi
if [ "$subcommand" = "update" ] ; then
Expand All @@ -3479,13 +3454,19 @@ _docker_service_update_and_create() {
--dns-rm
--dns-search-add
--dns-search-rm
--env-add
--env-rm
--generic-resource-add
--generic-resource-rm
--group-add
--group-rm
--host-add
--host-rm
--image
--label-add
--label-rm
--mount-add
--mount-rm
--network-add
--network-rm
--placement-pref-add
Expand All @@ -3498,39 +3479,14 @@ _docker_service_update_and_create() {
"

case "$prev" in
--config-add|--config-rm)
__docker_complete_configs
return
;;
--group-add|--group-rm)
COMPREPLY=( $(compgen -g -- "$cur") )
--env-rm)
COMPREPLY=( $( compgen -e -- "$cur" ) )
return
;;
--host-add|--host-rm)
case "$cur" in
*:)
__docker_complete_resolved_hostname
return
;;
esac
;;
--image)
__docker_complete_images --repo --tag --id
return
;;
--network-add|--network-rm)
__docker_complete_networks
return
;;
--placement-pref-add|--placement-pref-rm)
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
__docker_nospace
return
;;
--secret-add|--secret-rm)
__docker_complete_secrets
return
;;
esac
fi

Expand All @@ -3544,16 +3500,32 @@ _docker_service_update_and_create() {
esac

case "$prev" in
--config|--config-add|--config-rm)
__docker_complete_configs
return
;;
--endpoint-mode)
COMPREPLY=( $( compgen -W "dnsrr vip" -- "$cur" ) )
return
;;
--env|-e)
--env|-e|--env-add)
# we do not append a "=" here because "-e VARNAME" is legal systax, too
COMPREPLY=( $( compgen -e -- "$cur" ) )
__docker_nospace
return
;;
--group|--group-add|--group-rm)
COMPREPLY=( $(compgen -g -- "$cur") )
return
;;
--host|--host-add|--host-rm)
case "$cur" in
*:)
__docker_complete_resolved_hostname
return
;;
esac
;;
--isolation)
__docker_complete_isolation
return
Expand All @@ -3566,10 +3538,15 @@ _docker_service_update_and_create() {
__docker_complete_log_options
return
;;
--network)
--network|--network-add|--network-rm)
__docker_complete_networks
return
;;
--placement-pref|--placement-pref-add|--placement-pref-rm)
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
__docker_nospace
return
;;
--restart-condition)
COMPREPLY=( $( compgen -W "any none on-failure" -- "$cur" ) )
return
Expand All @@ -3578,6 +3555,10 @@ _docker_service_update_and_create() {
COMPREPLY=( $( compgen -W "continue pause" -- "$cur" ) )
return
;;
--secret|--secret-add|--secret-rm)
__docker_complete_secrets
return
;;
--stop-signal)
__docker_complete_signals
return
Expand Down

0 comments on commit 26a2a45

Please sign in to comment.