]> git.pld-linux.org Git - packages/bash-completion.git/blob - phing.sh
- started update to 2.0; triggers system need to be revised
[packages/bash-completion.git] / phing.sh
1 # bash completion for phing
2
3 have phing &&
4 {
5 _phing()
6 {
7     local cur prev buildfile i
8
9     COMPREPLY=()
10     _get_comp_words_by_ref cur prev
11
12     case $prev in
13         -buildfile|-file|-f)
14             _filedir 'xml'
15             return 0
16             ;;
17         -logfile)
18             _filedir
19             return 0
20             ;;
21         -logger|-listener|-D|-inputhandler)
22             return 0
23             ;;
24     esac
25
26     if [[ "$cur" == -* ]]; then
27         COMPREPLY=( $( compgen -W '-help -version \
28             -quiet -verbose -debug -logfile -logger -listener \
29             -buildfile -D -inputhandler \
30             -projecthelp \
31             -find' \
32             -- "$cur" ) )
33     else
34         # available targets completion
35         # find which buildfile to use
36         buildfile=build.xml
37         for (( i=1; i < COMP_CWORD; i++ )); do
38             if [[ "${COMP_WORDS[i]}" == -@(?(build)file|f) ]]; then
39                 buildfile=${COMP_WORDS[i+1]}
40                 break
41             fi
42         done
43         [ ! -f $buildfile ] && return 0
44
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 )" \
50             -- "$cur" ) )
51         fi
52 } &&
53 complete -F _phing phing
54 }
55
56 # Local variables:
57 # mode: shell-script
58 # sh-basic-offset: 4
59 # sh-indent-comment: t
60 # indent-tabs-mode: nil
61 # End:
62 # ex: ts=4 sw=4 et filetype=sh
This page took 0.079493 seconds and 3 git commands to generate.