From d8fe912bdc87cfb4a48479b4036c413c659b3db4 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Tue, 28 Oct 2014 13:41:20 +0200 Subject: [PATCH] Added test kitchen bash completion. --- .../available/test_kitchen.completion.bash | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 completion/available/test_kitchen.completion.bash diff --git a/completion/available/test_kitchen.completion.bash b/completion/available/test_kitchen.completion.bash new file mode 100644 index 00000000..2420aab0 --- /dev/null +++ b/completion/available/test_kitchen.completion.bash @@ -0,0 +1,31 @@ +__kitchen_instance_list () { + # cache to .kitchen.list.yml + if [[ .kitchen.yml -nt .kitchen.list.yml || .kitchen.local.yml -nt .kitchen.list.yml ]]; then + # update list if config has updated + kitchen list --bare > .kitchen.list.yml + fi + cat .kitchen.list.yml +} + +__kitchen_options () { + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + COMPREPLY=() + + case $prev in + converge|create|destroy|diagnose|list|login|setup|test|verify) + COMPREPLY=( $(compgen -W "$(__kitchen_instance_list)" -- ${cur} )) + return 0 + ;; + driver) + COMPREPLY=( $(compgen -W "create discover help" -- ${cur} )) + return 0 + ;; + *) + COMPREPLY=( $(compgen -W "console converge create destroy driver help init list login setup test verify version" -- ${cur} )) + return 0 + ;; + esac +} +complete -F __kitchen_options kitchen +