diff --git a/contrib/completion/bash/docker b/contrib/completion/bash/docker index 776a05d4..b1f3d53a 100644 --- a/contrib/completion/bash/docker +++ b/contrib/completion/bash/docker @@ -3966,11 +3966,30 @@ _docker() { local previous_extglob_setting=$(shopt -p extglob) shopt -s extglob - local commands=( - attach - build - commit + local management_commands=( container + image + network + node + plugin + secret + service + stack + system + volume + ) + + local top_level_commands=( + build + login + logout + run + search + version + ) + + local legacy_commands=( + commit cp create diff @@ -3978,20 +3997,14 @@ _docker() { exec export history - image images import info inspect kill load - login - logout logs - network - node pause - plugin port ps pull @@ -4000,23 +4013,15 @@ _docker() { restart rm rmi - run save - search - secret - service - stack start stats stop swarm - system tag top unpause update - version - volume wait ) @@ -4024,6 +4029,8 @@ _docker() { deploy ) + local commands=(${management_commands[*]} ${top_level_commands[*]} ${DOCKER_HIDE_LEGACY_COMMANDS:+${legacy_commands[*]}}) + # These options are valid as global options for all client commands # and valid as command options for `docker daemon` local global_boolean_options="