diff options
author | Robby Russell <robby@planetargon.com> | 2009-08-28 11:14:17 -0700 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2009-08-28 11:14:17 -0700 |
commit | 5da20b9dddb1f7a9110675ded5df59c4c3ed1b83 (patch) | |
tree | 142b4940f34ce07495c407692a0c299c18df7461 /rake_completion.zsh | |
parent | e20401e04e057a39c228dbb99dda68ec7fa4235a (diff) | |
download | zsh-5da20b9dddb1f7a9110675ded5df59c4c3ed1b83.tar.gz zsh-5da20b9dddb1f7a9110675ded5df59c4c3ed1b83.tar.bz2 zsh-5da20b9dddb1f7a9110675ded5df59c4c3ed1b83.zip |
Importing initial files after reorganizing stuff.
Diffstat (limited to 'rake_completion.zsh')
-rw-r--r-- | rake_completion.zsh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/rake_completion.zsh b/rake_completion.zsh new file mode 100644 index 000000000..a94b48896 --- /dev/null +++ b/rake_completion.zsh @@ -0,0 +1,42 @@ +_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 () { + if [ -f Rakefile ]; then + if _rake_does_task_list_need_generating; then + echo "\nGenerating .rake_tasks..." > /dev/stderr + rake --silent --tasks | cut -d " " -f 2 > .rake_tasks + fi + compadd `cat .rake_tasks` + fi +} + +compdef _rake rake + +function _cap_does_task_list_need_generating () { + if [ ! -f .cap_tasks ]; then return 0; + else + accurate=$(stat -f%m .cap_tasks) + changed=$(stat -f%m config/deploy.rb) + return $(expr $accurate '>=' $changed) + fi +} + +function _cap () { + if [ -f config/deploy.rb ]; then + if _cap_does_task_list_need_generating; then + echo "\nGenerating .cap_tasks..." > /dev/stderr + cap show_tasks -q | cut -d " " -f 1 | sed -e '/^ *$/D' -e '1,2D' +> .cap_tasks + fi + compadd `cat .cap_tasks` + fi +} + +compdef _cap cap |