]> git.pld-linux.org Git - packages/bash-completion.git/blame - phing.sh
- started update to 2.0; triggers system need to be revised
[packages/bash-completion.git] / phing.sh
CommitLineData
528442d6
ER
1# bash completion for phing
2
3have 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} &&
53complete -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.035688 seconds and 4 git commands to generate.