浏览代码

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 10 年之前
父节点
当前提交
2dbf9951d9
共有 1 个文件被更改,包括 16 次插入5 次删除
  1. 16 5
      plugins/docker/_docker

+ 16 - 5
plugins/docker/_docker

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