Skip to content

Commit

Permalink
Merge pull request moby#27239 from albers/completion-volumes
Browse files Browse the repository at this point in the history
Align bash completion of volumes to completion of nodes and services
  • Loading branch information
tianon authored Oct 18, 2016
2 parents 668189e + 06d4c11 commit 29cc38d
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions contrib/completion/bash/docker
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,25 @@ __docker_complete_containers_in_network() {
COMPREPLY=( $(compgen -W "$containers" -- "$cur") )
}

# Returns a list of all volumes. Additional arguments to `docker volume ls`
# may be specified in order to filter the list, e.g.
# `__docker_volumes --filter dangling=true`
# Because volumes do not have IDs, this function does not distinguish between
# IDs and names.
__docker_volumes() {
__docker_q volume ls -q "$@"
}

# Applies completion of volumes based on the current value of `$cur` or
# the value of the optional first option `--cur`, if given.
# Additional filters may be appended, see `__docker_volumes`.
__docker_complete_volumes() {
COMPREPLY=( $(compgen -W "$(__docker_q volume ls -q)" -- "$cur") )
local current="$cur"
if [ "$1" = "--cur" ] ; then
current="$2"
shift 2
fi
COMPREPLY=( $(compgen -W "$(__docker_volumes "$@")" -- "$current") )
}

__docker_plugins() {
Expand Down Expand Up @@ -1150,8 +1167,7 @@ _docker_events() {
return
;;
volume)
cur="${cur##*=}"
__docker_complete_volumes
__docker_complete_volumes --cur "${cur##*=}"
return
;;
esac
Expand Down Expand Up @@ -2209,8 +2225,7 @@ _docker_ps() {
return
;;
volume)
cur="${cur##*=}"
__docker_complete_volumes
__docker_complete_volumes --cur "${cur##*=}"
return
;;
esac
Expand Down Expand Up @@ -2855,8 +2870,7 @@ _docker_volume_ls() {
return
;;
name)
cur=${cur##*=}
__docker_complete_volumes
__docker_complete_volumes --cur "${cur##*=}"
return
;;
esac
Expand Down

0 comments on commit 29cc38d

Please sign in to comment.