| #!/usr/bin/env bash | |
| # Bash completion support for Capistrano. | |
| export COMP_WORDBREAKS=${COMP_WORDBREAKS/\:/} | |
| _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~ | |
| fi | |
| COMPREPLY=($(compgen -W "`cat .cap_tasks~`" -- ${COMP_WORDS[COMP_CWORD]})) | |
| return 0 | |
| fi | |
| } | |
| complete -o default -o nospace -F _capcomplete cap |