diff options
author | James Smith <james@loopj.com> | 2012-07-24 13:39:07 -0700 |
---|---|---|
committer | James Smith <james@loopj.com> | 2012-07-24 13:39:07 -0700 |
commit | 772bc51c3a2372592c400e0d4e159a0128989ba2 (patch) | |
tree | 191af002e272ce95418910b9c0ea63443e48e681 /plugins/cake | |
parent | 0ba398f9e1aaf05e72406d5c840f013eebb6b260 (diff) | |
parent | d05b2010ffd4cd33ff9402c402051b1caf985d97 (diff) | |
download | zsh-772bc51c3a2372592c400e0d4e159a0128989ba2.tar.gz zsh-772bc51c3a2372592c400e0d4e159a0128989ba2.tar.bz2 zsh-772bc51c3a2372592c400e0d4e159a0128989ba2.zip |
Merge
Diffstat (limited to 'plugins/cake')
-rw-r--r-- | plugins/cake/cake.plugin.zsh | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/plugins/cake/cake.plugin.zsh b/plugins/cake/cake.plugin.zsh index f968c71d5..1d0d196ee 100644 --- a/plugins/cake/cake.plugin.zsh +++ b/plugins/cake/cake.plugin.zsh @@ -1,18 +1,22 @@ # Set this to 1 if you want to cache the tasks -cache_task_list=1 +_cake_cache_task_list=1 # Cache filename -cache_file='.cake_task_cache' +_cake_task_cache_file='.cake_task_cache' + +_cake_get_target_list () { + cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' +} _cake_does_target_list_need_generating () { - if [ $cache_task_list -eq 0 ]; then + if [ ${_cake_cache_task_list} -eq 0 ]; then return 1; fi - if [ ! -f $cache_file ]; then return 0; + if [ ! -f ${_cake_task_cache_file} ]; then return 0; else - accurate=$(stat -f%m $cache_file) + accurate=$(stat -f%m $_cake_task_cache_file) changed=$(stat -f%m Cakefile) return $(expr $accurate '>=' $changed) fi @@ -21,12 +25,12 @@ _cake_does_target_list_need_generating () { _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` + _cake_get_target_list > ${_cake_task_cache_file} + compadd `cat ${_cake_task_cache_file}` else - compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'` + compadd `_cake_get_target_list` fi fi } -compdef _cake cake +compdef _cake cake
\ No newline at end of file |