Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
1a029f29
Commit
1a029f29
authored
Feb 13, 2014
by
Kevin Bongart
Browse files
Add rake-fast plugin for fast rake autocompletion
parent
4ce7f0a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/rake-fast/rake-fast.plugin.zsh
0 → 100644
View file @
1a029f29
# rake-fast
# Fast rake autocompletion plugin for oh-my-zsh
# This script caches the output for later usage and significantly speeds it up.
# It generates a .rake_tasks file in parallel to the Rakefile.
# You'll want to add `.rake_tasks` to your global .git_ignore file:
# https://help.github.com/articles/ignoring-files#global-gitignore
# You can force .rake_tasks to refresh with:
# $ rake_refresh
# This is entirely based on Ullrich Schäfer's work
# (https://github.com/robb/.dotfiles/pull/10/),
# which is inspired by this Ruby on Rails trick from 2006:
# http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh/
# Author: Kevin Bongart
# contact@kevinbongart.net
# http://kevinbongart.net
# https://github.com/KevinBongart
_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
"
\n
Generating .rake_tasks..."
>
/dev/stderr
_rake_generate
fi
compadd
`
cat
.rake_tasks
`
fi
}
compdef _rake rake
alias
rake_refresh
=
'_rake_refresh'
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment