314dd205ca6070527a4bef791221755920858bd3

Author
Masato Ikeda <masato.ikeda@gmail.com>
Committer
Marc Cornellà <marc.cornella@live.com>
Date

Message

knife: improve knife-solo support in completion (#3315)

Closes #1944
Closes #3315

Diff

 1diff --git a/plugins/knife/_knife b/plugins/knife/_knife
 2index 06b12a3b00e762d46fb9d2a2a0aec4fec6be5bb5..38f8ad6fafa35e13e60d20a73fabd315eb4a6b0f 100644
 3--- a/plugins/knife/_knife
 4+++ b/plugins/knife/_knife
 5@@ -34,7 +34,7 @@ _knife() {
 6 
 7   case $state in
 8   knifecmd)
 9-    compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" diff exec environment index node recipe role search ssh status upload vault windows $cloudproviders
10+    compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" diff exec environment index node recipe role search solo ssh status upload vault windows $cloudproviders
11     ;;
12   knifesubcmd)
13     case $words[2] in
14@@ -65,6 +65,9 @@ _knife() {
15     role)
16       compadd -Q "$@" "bulk delete" create delete edit "from file" list show
17       ;;
18+    solo)
19+      compadd "$@" bootstrap clean cook init prepare
20+      ;;
21     upload)
22       _arguments '*:file or directory:_files -g "*"'
23       ;;
24@@ -102,6 +105,12 @@ _knife() {
25     bag)
26       compadd -Q "$@" show edit list "from file" create delete
27       ;;
28+    bootstrap|clean|cook|prepare)
29+      compadd "$@" nodes/*.json(N:t:r); done
30+      ;;
31+    init)
32+      compadd "$@" ./*(/N:t); done
33+      ;;
34     *)
35       _arguments '3:Subsubcommands:($(_knife_options2))'
36       ;;