diff --git a/completion/available/capistrano.completion.bash b/completion/available/capistrano.completion.bash old mode 100644 new mode 100755 index a48bd4d6..d5fda06f --- a/completion/available/capistrano.completion.bash +++ b/completion/available/capistrano.completion.bash @@ -7,7 +7,14 @@ _capcomplete() { if [ -f Capfile ]; then recent=`ls -t .cap_tasks~ Capfile **/*.cap 2> /dev/null | head -n 1` if [[ $recent != '.cap_tasks~' ]]; then - cap --tool --tasks | cut -d " " -f 2 > .cap_tasks~ + cap --version | grep 'Capistrano v2.' > /dev/null + if [ $? -eq 0 ]; then + # Capistrano 2.x + cap --tool --verbose --tasks | cut -d " " -f 2 > .cap_tasks~ + else + # Capistrano 3.x + cap --all --tasks | cut -d " " -f 2 > .cap_tasks~ + fi fi COMPREPLY=($(compgen -W "`cat .cap_tasks~`" -- ${COMP_WORDS[COMP_CWORD]})) return 0