Browse code

Add zsh completion for 'docker {container,image,network,system} prune --filter'

Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 784ebccffaa8329aee9e88877e6039b5002ad8e3)
Signed-off-by: Victor Vieux <vieux@docker.com>

Steve Durrheimer authored on 2017/01/20 23:46:50
Showing 1 changed files
... ...
@@ -474,6 +474,26 @@ __docker_complete_events_filter() {
474 474
     return ret
475 475
 }
476 476
 
477
+__docker_complete_prune_filters() {
478
+    [[ $PREFIX = -* ]] && return 1
479
+    integer ret=1
480
+    declare -a opts
481
+
482
+    opts=('until')
483
+
484
+    if compset -P '*='; then
485
+        case "${${words[-1]%=*}#*=}" in
486
+            *)
487
+                _message 'value' && ret=0
488
+                ;;
489
+        esac
490
+    else
491
+        _describe -t filter-opts "filter options" opts -qS "=" && ret=0
492
+    fi
493
+
494
+    return ret
495
+}
496
+
477 497
 # BO container
478 498
 
479 499
 __docker_container_commands() {
... ...
@@ -731,6 +751,7 @@ __docker_container_subcommand() {
731 731
         (prune)
732 732
             _arguments $(__docker_arguments) \
733 733
                 $opts_help \
734
+                "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \
734 735
                 "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
735 736
             ;;
736 737
         (rename)
... ...
@@ -977,6 +998,7 @@ __docker_image_subcommand() {
977 977
             _arguments $(__docker_arguments) \
978 978
                 $opts_help \
979 979
                 "($help -a --all)"{-a,--all}"[Remove all unused images, not just dangling ones]" \
980
+                "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \
980 981
                 "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
981 982
             ;;
982 983
         (pull)
... ...
@@ -1204,6 +1226,7 @@ __docker_network_subcommand() {
1204 1204
         (prune)
1205 1205
             _arguments $(__docker_arguments) \
1206 1206
                 $opts_help \
1207
+                "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \
1207 1208
                 "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
1208 1209
             ;;
1209 1210
         (rm)
... ...
@@ -2142,6 +2165,7 @@ __docker_system_subcommand() {
2142 2142
             _arguments $(__docker_arguments) \
2143 2143
                 $opts_help \
2144 2144
                 "($help -a --all)"{-a,--all}"[Remove all unused data, not just dangling ones]" \
2145
+                "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \
2145 2146
                 "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
2146 2147
             ;;
2147 2148
         (help)