1 # Set this to 1 if you want to cache the tasks
2 _cake_cache_task_list=1
5 _cake_task_cache_file='.cake_task_cache'
7 _cake_get_target_list () {
8 cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'
11 _cake_does_target_list_need_generating () {
13 if [ ${_cake_cache_task_list} -eq 0 ]; then
17 [ ! -f ${_cake_task_cache_file} ] && return 0;
18 [ Cakefile -nt ${_cake_task_cache_file} ] && return 0;
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}`
28 compadd `_cake_get_target_list`