Browse code

Add zsh completion for 'docker inspect --type=plugin' and other missing ones

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

Steve Durrheimer authored on 2016/12/12 17:14:10
Showing 1 changed files
... ...
@@ -348,14 +348,14 @@ __docker_complete_ps_filters() {
348 348
                 __docker_complete_containers_names && ret=0
349 349
                 ;;
350 350
             (network)
351
-                __docker_networks && ret=0
351
+                __docker_complete_networks && ret=0
352 352
                 ;;
353 353
             (status)
354 354
                 status_opts=('created' 'dead' 'exited' 'paused' 'restarting' 'running' 'removing')
355 355
                 _describe -t status-filter-opts "status filter options" status_opts && ret=0
356 356
                 ;;
357 357
             (volume)
358
-                __docker_volumes && ret=0
358
+                __docker_complete_volumes && ret=0
359 359
                 ;;
360 360
             *)
361 361
                 _message 'value' && ret=0
... ...
@@ -453,7 +453,7 @@ __docker_complete_events_filter() {
453 453
                 __docker_complete_images && ret=0
454 454
                 ;;
455 455
             (network)
456
-                __docker_networks && ret=0
456
+                __docker_complete_networks && ret=0
457 457
                 ;;
458 458
             (type)
459 459
                 local -a type_opts
... ...
@@ -461,7 +461,7 @@ __docker_complete_events_filter() {
461 461
                 _describe -t type-filter-opts "type filter options" type_opts && ret=0
462 462
                 ;;
463 463
             (volume)
464
-                __docker_volumes && ret=0
464
+                __docker_complete_volumes && ret=0
465 465
                 ;;
466 466
             *)
467 467
                 _message 'value' && ret=0
... ...
@@ -1033,10 +1033,10 @@ __docker_network_complete_ls_filters() {
1033 1033
                 __docker_complete_info_plugins Network && ret=0
1034 1034
                 ;;
1035 1035
             (id)
1036
-                __docker_networks_ids && ret=0
1036
+                __docker_complete_networks_ids && ret=0
1037 1037
                 ;;
1038 1038
             (name)
1039
-                __docker_networks_names && ret=0
1039
+                __docker_complete_networks_names && ret=0
1040 1040
                 ;;
1041 1041
             (type)
1042 1042
                 type_opts=('builtin' 'custom')
... ...
@@ -1082,6 +1082,7 @@ __docker_get_networks() {
1082 1082
         for line in $lines; do
1083 1083
             s="${line[${begin[NETWORK ID]},${end[NETWORK ID]}]%% ##}"
1084 1084
             s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}"
1085
+            s="$s, ${${line[${begin[SCOPE]},${end[SCOPE]}]}%% ##}"
1085 1086
             networks=($networks $s)
1086 1087
         done
1087 1088
     fi
... ...
@@ -1091,6 +1092,7 @@ __docker_get_networks() {
1091 1091
         for line in $lines; do
1092 1092
             s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
1093 1093
             s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}"
1094
+            s="$s, ${${line[${begin[SCOPE]},${end[SCOPE]}]}%% ##}"
1094 1095
             networks=($networks $s)
1095 1096
         done
1096 1097
     fi
... ...
@@ -1099,17 +1101,17 @@ __docker_get_networks() {
1099 1099
     return ret
1100 1100
 }
1101 1101
 
1102
-__docker_networks() {
1102
+__docker_complete_networks() {
1103 1103
     [[ $PREFIX = -* ]] && return 1
1104 1104
     __docker_get_networks all "$@"
1105 1105
 }
1106 1106
 
1107
-__docker_networks_ids() {
1107
+__docker_complete_networks_ids() {
1108 1108
     [[ $PREFIX = -* ]] && return 1
1109 1109
     __docker_get_networks ids "$@"
1110 1110
 }
1111 1111
 
1112
-__docker_networks_names() {
1112
+__docker_complete_networks_names() {
1113 1113
     [[ $PREFIX = -* ]] && return 1
1114 1114
     __docker_get_networks names "$@"
1115 1115
 }
... ...
@@ -1144,7 +1146,7 @@ __docker_network_subcommand() {
1144 1144
                 "($help)--ip6=[Container IPv6 address]:IPv6: " \
1145 1145
                 "($help)*--link=[Add a link to another container]:link:->link" \
1146 1146
                 "($help)*--link-local-ip=[Add a link-local address for the container]:IPv4/IPv6: " \
1147
-                "($help -)1:network:__docker_networks" \
1147
+                "($help -)1:network:__docker_complete_networks" \
1148 1148
                 "($help -)2:containers:__docker_complete_containers" && ret=0
1149 1149
 
1150 1150
             case $state in
... ...
@@ -1177,14 +1179,14 @@ __docker_network_subcommand() {
1177 1177
         (disconnect)
1178 1178
             _arguments $(__docker_arguments) \
1179 1179
                 $opts_help \
1180
-                "($help -)1:network:__docker_networks" \
1180
+                "($help -)1:network:__docker_complete_networks" \
1181 1181
                 "($help -)2:containers:__docker_complete_containers" && ret=0
1182 1182
             ;;
1183 1183
         (inspect)
1184 1184
             _arguments $(__docker_arguments) \
1185 1185
                 $opts_help \
1186 1186
                 "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
1187
-                "($help -)*:network:__docker_networks" && ret=0
1187
+                "($help -)*:network:__docker_complete_networks" && ret=0
1188 1188
             ;;
1189 1189
         (ls)
1190 1190
             _arguments $(__docker_arguments) \
... ...
@@ -1207,7 +1209,7 @@ __docker_network_subcommand() {
1207 1207
         (rm)
1208 1208
             _arguments $(__docker_arguments) \
1209 1209
                 $opts_help \
1210
-                "($help -)*:network:__docker_networks" && ret=0
1210
+                "($help -)*:network:__docker_complete_networks" && ret=0
1211 1211
             ;;
1212 1212
         (help)
1213 1213
             _arguments $(__docker_arguments) ":subcommand:__docker_network_commands" && ret=0
... ...
@@ -2168,7 +2170,7 @@ __docker_volume_complete_ls_filters() {
2168 2168
                 __docker_complete_info_plugins Volume && ret=0
2169 2169
                 ;;
2170 2170
             (name)
2171
-                __docker_volumes && ret=0
2171
+                __docker_complete_volumes && ret=0
2172 2172
                 ;;
2173 2173
             *)
2174 2174
                 _message 'value' && ret=0
... ...
@@ -2182,7 +2184,7 @@ __docker_volume_complete_ls_filters() {
2182 2182
     return ret
2183 2183
 }
2184 2184
 
2185
-__docker_volumes() {
2185
+__docker_complete_volumes() {
2186 2186
     [[ $PREFIX = -* ]] && return 1
2187 2187
     integer ret=1
2188 2188
     declare -a lines volumes
... ...
@@ -2246,7 +2248,7 @@ __docker_volume_subcommand() {
2246 2246
             _arguments $(__docker_arguments) \
2247 2247
                 $opts_help \
2248 2248
                 "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
2249
-                "($help -)1:volume:__docker_volumes" && ret=0
2249
+                "($help -)1:volume:__docker_complete_volumes" && ret=0
2250 2250
             ;;
2251 2251
         (ls)
2252 2252
             _arguments $(__docker_arguments) \
... ...
@@ -2269,7 +2271,7 @@ __docker_volume_subcommand() {
2269 2269
             _arguments $(__docker_arguments) \
2270 2270
                 $opts_help \
2271 2271
                 "($help -f --force)"{-f,--force}"[Force the removal of one or more volumes]" \
2272
-                "($help -):volume:__docker_volumes" && ret=0
2272
+                "($help -):volume:__docker_complete_volumes" && ret=0
2273 2273
             ;;
2274 2274
         (help)
2275 2275
             _arguments $(__docker_arguments) ":subcommand:__docker_volume_commands" && ret=0
... ...
@@ -2458,7 +2460,7 @@ __docker_subcommand() {
2458 2458
                 $opts_help \
2459 2459
                 "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
2460 2460
                 "($help -s --size)"{-s,--size}"[Display total file sizes if the type is container]" \
2461
-                "($help)--type=[Return JSON for specified type]:type:(image container)" \
2461
+                "($help)--type=[Return JSON for specified type]:type:(container image network node plugin service volume)" \
2462 2462
                 "($help -)*: :->values" && ret=0
2463 2463
 
2464 2464
             case $state in
... ...
@@ -2467,8 +2469,24 @@ __docker_subcommand() {
2467 2467
                         __docker_complete_containers && ret=0
2468 2468
                     elif [[ ${words[(r)--type=image]} == --type=image ]]; then
2469 2469
                         __docker_complete_images && ret=0
2470
+                    elif [[ ${words[(r)--type=network]} == --type=network ]]; then
2471
+                        __docker_complete_networks && ret=0
2472
+                    elif [[ ${words[(r)--type=node]} == --type=node ]]; then
2473
+                        __docker_complete_nodes && ret=0
2474
+                    elif [[ ${words[(r)--type=plugin]} == --type=plugin ]]; then
2475
+                        __docker_complete_plugins && ret=0
2476
+                    elif [[ ${words[(r)--type=service]} == --type=service ]]; then
2477
+                        __docker_complete_services && ret=0
2478
+                    elif [[ ${words[(r)--type=volume]} == --type=volume ]]; then
2479
+                        __docker_complete_volumes && ret=0
2470 2480
                     else
2471
-                        __docker_complete_images && __docker_complete_containers && ret=0
2481
+                        __docker_complete_containers
2482
+                        __docker_complete_images
2483
+                        __docker_complete_networks
2484
+                        __docker_complete_nodes
2485
+                        __docker_complete_plugins
2486
+                        __docker_complete_services
2487
+                        __docker_complete_volumes && ret=0
2472 2488
                     fi
2473 2489
                     ;;
2474 2490
             esac