New completion for phing (Elan Ruusamäe, Alioth: #312910)
This commit is contained in:
parent
5961c3b8cd
commit
bf358666d2
1
CHANGES
1
CHANGES
@ -36,6 +36,7 @@ bash-completion (2.x)
|
||||
* Complete filenames after commands in rrdtool (Debian: #577933)
|
||||
* ant: handle "extension-point" the same as "target" tag (Petr Kozelka
|
||||
Alioth: #313105)
|
||||
* New completion for phing (Elan Ruusamäe, Alioth: #312910)
|
||||
|
||||
[ Freddy Vulto ]
|
||||
* Improve __reassemble_comp_words_by_ref() to not create words of
|
||||
|
58
completions/phing
Normal file
58
completions/phing
Normal file
@ -0,0 +1,58 @@
|
||||
# bash completion for phing
|
||||
|
||||
have phing || return
|
||||
|
||||
_phing()
|
||||
{
|
||||
local cur prev buildfile i
|
||||
_init_completion || return
|
||||
|
||||
case $prev in
|
||||
-buildfile|-file|-f)
|
||||
_filedir 'xml'
|
||||
return 0
|
||||
;;
|
||||
-logfile)
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
-logger|-listener|-D|-inputhandler)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-help -version \
|
||||
-quiet -verbose -debug -logfile -logger -listener \
|
||||
-buildfile -D -inputhandler \
|
||||
-find' \
|
||||
-- "$cur" ) )
|
||||
else
|
||||
# available targets completion
|
||||
# find which buildfile to use
|
||||
buildfile=build.xml
|
||||
for (( i=1; i < COMP_CWORD; i++ )); do
|
||||
if [[ "${COMP_WORDS[i]}" == -@(?(build)file|f) ]]; then
|
||||
buildfile=${COMP_WORDS[i+1]}
|
||||
break
|
||||
fi
|
||||
done
|
||||
[ ! -f $buildfile ] && return 0
|
||||
|
||||
# parse buildfile for targets
|
||||
# some versions of sed complain if there's no trailing linefeed,
|
||||
# hence the 2>/dev/null
|
||||
COMPREPLY=( $( compgen -W "$( cat $buildfile | tr "'\t\n>" "\" \n" | \
|
||||
sed -ne 's/.*<target .*name="\([^"]*\).*/\1/p' 2>/dev/null )" \
|
||||
-- "$cur" ) )
|
||||
fi
|
||||
} &&
|
||||
complete -F _phing phing
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
# sh-basic-offset: 4
|
||||
# sh-indent-comment: t
|
||||
# indent-tabs-mode: nil
|
||||
# End:
|
||||
# ex: ts=4 sw=4 et filetype=sh
|
Loading…
x
Reference in New Issue
Block a user