1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-11-15 02:51:11 +00:00
prezto/plugins/cake/cake.plugin.zsh

34 lines
726 B
Bash
Raw Normal View History

2011-08-31 03:16:15 +00:00
# Set this to 1 if you want to cache the tasks.
cache_task_list=1
2011-08-31 03:16:15 +00:00
# Cache filename.
cache_file='.cake_task_cache'
2011-08-31 03:16:15 +00:00
function _cake_does_target_list_need_generating() {
if [[ $cache_task_list -eq 0 ]]; then
return 1
fi
2011-08-31 03:16:15 +00:00
if [[ ! -f $cache_file ]]; then
return 0
else
accurate=$(stat -f%m $cache_file)
changed=$(stat -f%m Cakefile)
return $(expr $accurate '>=' $changed)
fi
}
2011-08-31 03:16:15 +00:00
function _cake() {
if [[ -f Cakefile ]]; then
if _cake_does_target_list_need_generating; then
cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cache_file
compadd `cat $cache_file`
else
compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'`
fi
fi
}
compdef _cake cake
2011-08-31 03:16:15 +00:00