1 # bash completion for phing
7 local cur prev buildfile i
10 _get_comp_words_by_ref cur prev
21 -logger|-listener|-D|-inputhandler)
26 if [[ "$cur" == -* ]]; then
27 COMPREPLY=( $( compgen -W '-help -version \
28 -quiet -verbose -debug -logfile -logger -listener \
29 -buildfile -D -inputhandler \
34 # available targets completion
35 # find which buildfile to use
37 for (( i=1; i < COMP_CWORD; i++ )); do
38 if [[ "${COMP_WORDS[i]}" == -@(?(build)file|f) ]]; then
39 buildfile=${COMP_WORDS[i+1]}
43 [ ! -f $buildfile ] && return 0
45 # parse buildfile for targets
46 # some versions of sed complain if there's no trailing linefeed,
47 # hence the 2>/dev/null
48 COMPREPLY=( $( compgen -W "$( cat $buildfile | tr "'\t\n>" "\" \n" | \
49 sed -ne 's/.*<target .*name="\([^"]*\).*/\1/p' 2>/dev/null )" \
53 complete -F _phing phing
59 # sh-indent-comment: t
60 # indent-tabs-mode: nil
62 # ex: ts=4 sw=4 et filetype=sh