]> src.twobees.de Git - dotfiles.git/blob - stow/oh-my-zsh/.oh-my-zsh/plugins/cake/cake.plugin.zsh
initial
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / plugins / cake / cake.plugin.zsh
1 # Set this to 1 if you want to cache the tasks
2 _cake_cache_task_list=1
3
4 # Cache filename
5 _cake_task_cache_file='.cake_task_cache'
6
7 _cake_get_target_list () {
8         cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'
9 }
10
11 _cake_does_target_list_need_generating () {
12
13         if [ ${_cake_cache_task_list} -eq 0 ]; then
14                 return 1;
15         fi
16
17         [ ! -f ${_cake_task_cache_file} ] && return 0;
18         [ Cakefile -nt ${_cake_task_cache_file} ] && return 0;
19         return 1;
20 }
21
22 _cake () {
23         if [ -f Cakefile ]; then
24                 if _cake_does_target_list_need_generating; then
25                         _cake_get_target_list > ${_cake_task_cache_file}
26                         compadd `cat ${_cake_task_cache_file}`
27                 else
28                         compadd `_cake_get_target_list`
29                 fi
30         fi
31 }
32
33 compdef _cake cake