| #!/bin/bash | |
| # Bash completion support for Rake, Ruby Make. | |
| export COMP_WORDBREAKS=${COMP_WORDBREAKS/\:/} | |
| _rakecomplete() { | |
| if [ -f Rakefile ]; then | |
| recent=`ls -t .rake_tasks~ Rakefile **/*.rake 2> /dev/null | head -n 1` | |
| if [[ $recent != '.rake_tasks~' ]]; then | |
| rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~ | |
| fi | |
| COMPREPLY=($(compgen -W "`cat .rake_tasks~`" -- ${COMP_WORDS[COMP_CWORD]})) | |
| return 0 | |
| fi | |
| } | |
| complete -o default -o nospace -F _rakecomplete rake |