summaryrefslogtreecommitdiff
path: root/plugins/rake-fast
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rake-fast')
-rw-r--r--plugins/rake-fast/rake-fast.plugin.zsh13
1 files changed, 8 insertions, 5 deletions
diff --git a/plugins/rake-fast/rake-fast.plugin.zsh b/plugins/rake-fast/rake-fast.plugin.zsh
index 86e5ed586..082f02f29 100644
--- a/plugins/rake-fast/rake-fast.plugin.zsh
+++ b/plugins/rake-fast/rake-fast.plugin.zsh
@@ -43,14 +43,17 @@ _tasks_changed () {
}
_rake_generate () {
- echo "version:$_rake_tasks_version" > .rake_tasks
-
- rake --silent --tasks --all \
+ local rake_tasks_content="version:$_rake_tasks_version\n"
+ rake_tasks_content+=$(rake --silent --tasks --all \
| sed "s/^rake //" | sed "s/\:/\\\:/g" \
| sed "s/\[[^]]*\]//g" \
| sed "s/ *# /\:/" \
- | sed "s/\:$//" \
- >> .rake_tasks
+ | sed "s/\:$//")
+
+ local rake_tasks_file="$(mktemp -t .rake_tasks.XXXXXX)"
+ echo $rake_tasks_content > $rake_tasks_file
+
+ mv $rake_tasks_file .rake_tasks
}
_rake () {