_phing_does_target_list_need_generating () { [ ! -f .phing_targets ] && return 0; [ .phing_targets -nt build.xml ] && return 0; return 1; } _phing () { if [ -f build.xml ]; then if _phing_does_target_list_need_generating; then phing -l|grep -v "\[property\]"|grep -v "Buildfile"|sed 1d|grep -v ":$" |grep -v "^\-*$"|awk '{print $1}' > .phing_targets fi compadd `cat .phing_targets` fi } compdef _phing phing