Skip to content

Commit 26a2a45

Browse files
author
Vincent Demeester
authored
Merge pull request #682 from albers/completion-service-options
Fix and simplify bash completion for service env, mounts and labels
2 parents 19e4389 + f2b42bb commit 26a2a45

File tree

1 file changed

+38
-57
lines changed

1 file changed

+38
-57
lines changed

contrib/completion/bash/docker

Lines changed: 38 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3354,7 +3354,6 @@ _docker_service_update_and_create() {
33543354
local options_with_args="
33553355
--endpoint-mode
33563356
--entrypoint
3357-
--env -e
33583357
--force
33593358
--health-cmd
33603359
--health-interval
@@ -3363,12 +3362,10 @@ _docker_service_update_and_create() {
33633362
--health-timeout
33643363
--hostname
33653364
--isolation
3366-
--label -l
33673365
--limit-cpu
33683366
--limit-memory
33693367
--log-driver
33703368
--log-opt
3371-
--mount
33723369
--replicas
33733370
--reserve-cpu
33743371
--reserve-memory
@@ -3416,11 +3413,14 @@ _docker_service_update_and_create() {
34163413
--dns
34173414
--dns-option
34183415
--dns-search
3416+
--env -e
34193417
--env-file
34203418
--generic-resource
34213419
--group
34223420
--host
3421+
--label -l
34233422
--mode
3423+
--mount
34243424
--name
34253425
--network
34263426
--placement-pref
@@ -3429,39 +3429,14 @@ _docker_service_update_and_create() {
34293429
"
34303430

34313431
case "$prev" in
3432-
--config)
3433-
__docker_complete_configs
3434-
return
3435-
;;
34363432
--env-file)
34373433
_filedir
34383434
return
34393435
;;
3440-
--group)
3441-
COMPREPLY=( $(compgen -g -- "$cur") )
3442-
return
3443-
;;
3444-
--host)
3445-
case "$cur" in
3446-
*:)
3447-
__docker_complete_resolved_hostname
3448-
return
3449-
;;
3450-
esac
3451-
;;
34523436
--mode)
34533437
COMPREPLY=( $( compgen -W "global replicated" -- "$cur" ) )
34543438
return
34553439
;;
3456-
--placement-pref)
3457-
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
3458-
__docker_nospace
3459-
return
3460-
;;
3461-
--secret)
3462-
__docker_complete_secrets
3463-
return
3464-
;;
34653440
esac
34663441
fi
34673442
if [ "$subcommand" = "update" ] ; then
@@ -3479,13 +3454,19 @@ _docker_service_update_and_create() {
34793454
--dns-rm
34803455
--dns-search-add
34813456
--dns-search-rm
3457+
--env-add
3458+
--env-rm
34823459
--generic-resource-add
34833460
--generic-resource-rm
34843461
--group-add
34853462
--group-rm
34863463
--host-add
34873464
--host-rm
34883465
--image
3466+
--label-add
3467+
--label-rm
3468+
--mount-add
3469+
--mount-rm
34893470
--network-add
34903471
--network-rm
34913472
--placement-pref-add
@@ -3498,39 +3479,14 @@ _docker_service_update_and_create() {
34983479
"
34993480

35003481
case "$prev" in
3501-
--config-add|--config-rm)
3502-
__docker_complete_configs
3503-
return
3504-
;;
3505-
--group-add|--group-rm)
3506-
COMPREPLY=( $(compgen -g -- "$cur") )
3482+
--env-rm)
3483+
COMPREPLY=( $( compgen -e -- "$cur" ) )
35073484
return
35083485
;;
3509-
--host-add|--host-rm)
3510-
case "$cur" in
3511-
*:)
3512-
__docker_complete_resolved_hostname
3513-
return
3514-
;;
3515-
esac
3516-
;;
35173486
--image)
35183487
__docker_complete_images --repo --tag --id
35193488
return
35203489
;;
3521-
--network-add|--network-rm)
3522-
__docker_complete_networks
3523-
return
3524-
;;
3525-
--placement-pref-add|--placement-pref-rm)
3526-
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
3527-
__docker_nospace
3528-
return
3529-
;;
3530-
--secret-add|--secret-rm)
3531-
__docker_complete_secrets
3532-
return
3533-
;;
35343490
esac
35353491
fi
35363492

@@ -3544,16 +3500,32 @@ _docker_service_update_and_create() {
35443500
esac
35453501

35463502
case "$prev" in
3503+
--config|--config-add|--config-rm)
3504+
__docker_complete_configs
3505+
return
3506+
;;
35473507
--endpoint-mode)
35483508
COMPREPLY=( $( compgen -W "dnsrr vip" -- "$cur" ) )
35493509
return
35503510
;;
3551-
--env|-e)
3511+
--env|-e|--env-add)
35523512
# we do not append a "=" here because "-e VARNAME" is legal systax, too
35533513
COMPREPLY=( $( compgen -e -- "$cur" ) )
35543514
__docker_nospace
35553515
return
35563516
;;
3517+
--group|--group-add|--group-rm)
3518+
COMPREPLY=( $(compgen -g -- "$cur") )
3519+
return
3520+
;;
3521+
--host|--host-add|--host-rm)
3522+
case "$cur" in
3523+
*:)
3524+
__docker_complete_resolved_hostname
3525+
return
3526+
;;
3527+
esac
3528+
;;
35573529
--isolation)
35583530
__docker_complete_isolation
35593531
return
@@ -3566,10 +3538,15 @@ _docker_service_update_and_create() {
35663538
__docker_complete_log_options
35673539
return
35683540
;;
3569-
--network)
3541+
--network|--network-add|--network-rm)
35703542
__docker_complete_networks
35713543
return
35723544
;;
3545+
--placement-pref|--placement-pref-add|--placement-pref-rm)
3546+
COMPREPLY=( $( compgen -W "spread" -S = -- "$cur" ) )
3547+
__docker_nospace
3548+
return
3549+
;;
35733550
--restart-condition)
35743551
COMPREPLY=( $( compgen -W "any none on-failure" -- "$cur" ) )
35753552
return
@@ -3578,6 +3555,10 @@ _docker_service_update_and_create() {
35783555
COMPREPLY=( $( compgen -W "continue pause" -- "$cur" ) )
35793556
return
35803557
;;
3558+
--secret|--secret-add|--secret-rm)
3559+
__docker_complete_secrets
3560+
return
3561+
;;
35813562
--stop-signal)
35823563
__docker_complete_signals
35833564
return

0 commit comments

Comments
 (0)