You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
716 B
34 lines
716 B
_rake_refresh () { |
|
if [ -f .rake_tasks ]; then |
|
rm .rake_tasks |
|
fi |
|
echo "Generating .rake_tasks..." > /dev/stderr |
|
_rake_generate |
|
cat .rake_tasks |
|
} |
|
|
|
_rake_does_task_list_need_generating () { |
|
if [ ! -f .rake_tasks ]; then return 0; |
|
else |
|
accurate=$(stat -f%m .rake_tasks) |
|
changed=$(stat -f%m Rakefile) |
|
return $(expr $accurate '>=' $changed) |
|
fi |
|
} |
|
|
|
_rake_generate () { |
|
rake --silent --tasks | cut -d " " -f 2 > .rake_tasks |
|
} |
|
|
|
_rake () { |
|
if [ -f Rakefile ]; then |
|
if _rake_does_task_list_need_generating; then |
|
echo "\nGenerating .rake_tasks..." > /dev/stderr |
|
_rake_generate |
|
fi |
|
compadd `cat .rake_tasks` |
|
fi |
|
} |
|
|
|
compdef _rake rake |
|
alias rake_refresh='_rake_refresh'
|
|
|