f4013053d302480b7663ad5c3a04d0442237a952

Author
Julien Dubreuil <dubreuil.julien@gmail.com>
Committer
Marc Cornellà <marc.cornella@live.com>
Date

Message

Updated _docker-compose to the latest version (from 0.1.0 to  1.5.0). (#5215)

Also fixed formatting of markdown URL in README.

Diff

This diff is truncated to protect this page.

  1diff --git a/plugins/docker-compose/README.md b/plugins/docker-compose/README.md
  2index 567b821487af846fa41948fea666f7de6280954f..d3fcb29fef46c237de9f380d7c106d73caa7065b 100644
  3--- a/plugins/docker-compose/README.md
  4+++ b/plugins/docker-compose/README.md
  5@@ -1,5 +1,4 @@
  6 # Docker-compose plugin for oh my zsh
  7 
  8-A copy of the completion script from the [docker-compose](1) git repo.
  9+A copy of the completion script from the [docker-compose](https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose) git repo.
 10 
 11-[1]:[https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose]
 12diff --git a/plugins/docker-compose/_docker-compose b/plugins/docker-compose/_docker-compose
 13index 19c06675ad5057dd09b3398e476744ac8fdd8b10..2947cef382438d9cc8a8417cac3c64cd34db4268 100644
 14--- a/plugins/docker-compose/_docker-compose
 15+++ b/plugins/docker-compose/_docker-compose
 16@@ -7,7 +7,7 @@
 17 # -------------------------------------------------------------------------
 18 # Version
 19 # -------
 20-#  0.1.0
 21+#  1.5.0
 22 # -------------------------------------------------------------------------
 23 # Authors
 24 # -------
 25@@ -19,58 +19,69 @@
 26 #  * @felixr docker zsh completion script : https://github.com/felixr/docker-zsh-completion
 27 # -------------------------------------------------------------------------
 28 
 29-# For compatibility reasons, Compose and therefore its completion supports several
 30-# stack compositon files as listed here, in descending priority.
 31-# Support for these filenames might be dropped in some future version.
 32-__docker-compose_compose_file() {
 33-    local file
 34-    for file in docker-compose.y{,a}ml fig.y{,a}ml ; do
 35-        [ -e $file ] && {
 36-            echo $file
 37-            return
 38-        }
 39-    done
 40-    echo docker-compose.yml
 41+__docker-compose_q() {
 42+    docker-compose 2>/dev/null $compose_options "$@"
 43 }
 44 
 45-# Extracts all service names from docker-compose.yml.
 46-___docker-compose_all_services_in_compose_file() {
 47+# All services defined in docker-compose.yml
 48+__docker-compose_all_services_in_compose_file() {
 49     local already_selected
 50     local -a services
 51-    already_selected=$(echo ${words[@]} | tr " " "|")
 52-    awk -F: '/^[a-zA-Z0-9]/{print $1}' "${compose_file:-$(__docker-compose_compose_file)}" 2>/dev/null | grep -Ev "$already_selected"
 53+    already_selected=$(echo $words | tr " " "|")
 54+    __docker-compose_q config --services \
 55+        | grep -Ev "^(${already_selected})$"
 56 }
 57 
 58 # All services, even those without an existing container
 59 __docker-compose_services_all() {
 60-    services=$(___docker-compose_all_services_in_compose_file)
 61-    _alternative "args:services:($services)"
 62+    [[ $PREFIX = -* ]] && return 1
 63+    integer ret=1
 64+    services=$(__docker-compose_all_services_in_compose_file)
 65+    _alternative "args:services:($services)" && ret=0
 66+
 67+    return ret
 68 }
 69 
 70 # All services that have an entry with the given key in their docker-compose.yml section
 71-___docker-compose_services_with_key() {
 72+__docker-compose_services_with_key() {
 73     local already_selected
 74     local -a buildable
 75-    already_selected=$(echo ${words[@]} | tr " " "|")
 76+    already_selected=$(echo $words | tr " " "|")
 77     # flatten sections to one line, then filter lines containing the key and return section name.
 78-    awk '/^[a-zA-Z0-9]/{printf "\n"};{printf $0;next;}' "${compose_file:-$(__docker-compose_compose_file)}" 2>/dev/null | awk -F: -v key=": +$1:" '$0 ~ key {print $1}' 2>/dev/null | grep -Ev "$already_selected"
 79+    __docker-compose_q config \
 80+        | sed -n -e '/^services:/,/^[^ ]/p' \
 81+        | sed -n 's/^  //p' \
 82+        | awk '/^[a-zA-Z0-9]/{printf "\n"};{printf $0;next;}' \
 83+        | grep " \+$1:" \
 84+        | cut -d: -f1 \
 85+        | grep -Ev "^(${already_selected})$"
 86 }
 87 
 88 # All services that are defined by a Dockerfile reference
 89 __docker-compose_services_from_build() {
 90-    buildable=$(___docker-compose_services_with_key build)
 91-    _alternative "args:buildable services:($buildable)"
 92+    [[ $PREFIX = -* ]] && return 1
 93+    integer ret=1
 94+    buildable=$(__docker-compose_services_with_key build)
 95+    _alternative "args:buildable services:($buildable)" && ret=0
 96+
 97+   return ret
 98 }
 99 
100 # All services that are defined by an image
101 __docker-compose_services_from_image() {
102-    pullable=$(___docker-compose_services_with_key image)
103-    _alternative "args:pullable services:($pullable)"
104+    [[ $PREFIX = -* ]] && return 1
105+    integer ret=1
106+    pullable=$(__docker-compose_services_with_key image)
107+    _alternative "args:pullable services:($pullable)" && ret=0
108+
109+    return ret
110 }
111 
112 __docker-compose_get_services() {
113-    local kind expl
114-    declare -a running stopped lines args services
115+    [[ $PREFIX = -* ]] && return 1