Browse Source

Fixing some issues where show repeated weird values, and fixed commands that need the container autocomplete without being running, like start, now it autocompletes showing all the containers so you can start without knowing the right name

Kennedy Oliveira 9 years ago
parent
commit
2dbf9951d9
1 changed files with 16 additions and 5 deletions
  1. 16 5
      plugins/docker/_docker

+ 16 - 5
plugins/docker/_docker

@@ -12,7 +12,16 @@
 __docker_containers() {
     declare -a cont_cmd
     cont_cmd=($(docker ps | awk 'NR>1{print $NF":[CON("$1")"$2"("$3")]"}'))
-    _describe 'containers' cont_cmd
+    if [[  'X$cont_cmd' != 'X' ]]
+        _describe 'containers' cont_cmd
+}
+
+# Output a selectable list of all containers, even not running
+__docker_all_containers() {
+    declare -a cont_cmd
+    cont_cmd=($(docker ps -a | awk 'NR>1{print $NF":[CON("$1")"$2"("$3")]"}'))
+    if [[  'X$cont_cmd' != 'X' ]]
+        _describe 'containers' cont_cmd
 }
 
 # output a selectable list of all docker images
@@ -57,7 +66,7 @@ __diff() {
     __docker_containers
 }
 
-__events() {
+__events() {    
     _arguments \
         '--since=[Show previously created events and then stream.]'
 }
@@ -98,10 +107,12 @@ __insert() {
 
 __inspect() {
     __docker_images
-    __docker_containers
+    __docker_all_containers
 }
 
 __kill() {
+    _arguments \
+        '(-s,--signal=)'{-s,--signal=}'[KILL Signal]'
     __docker_containers
 }
 
@@ -162,7 +173,7 @@ __rm() {
         '(-f,--force=)'{-f,--force=}'[Force removal of running container]' \
         '(-l,--link=)'{-l,--link=}'[Remove the specified link and not the underlying container]' \
         '(-v,--volumes=)'{-v,--volumes=}'[Remove the volumes associated to the container]'
-    __docker_containers
+    __docker_all_containers
 }
 
 __rmi() {
@@ -216,7 +227,7 @@ __start() {
     _arguments \
         '(-a,--attach=)'{-a,--attach=}'[Attach container''s stdout/stderr and forward all signals to the process]' \
         '(-i,--interactive=)'{-i,--interactive=}'[Attach container''s stdin]'
-    __docker_containers
+    __docker_all_containers
 }
 
 __stats() {