- ant completion replaced by function provided by

Guillaume Rousse <rousse@ccr.jussieu.fr>, with a few changes to trap
  compgen errors and other minor issues
This commit is contained in:
ianmacd 2002-03-07 17:32:03 +00:00
parent dc5e5a1cfc
commit 9ffa1fe16a

View File

@ -1,6 +1,6 @@
# bash_completion - some programmable completion functions for bash 2.05a
#
# $Id: bash_completion,v 1.181 2002/03/07 17:16:43 ianmacd Exp $
# $Id: bash_completion,v 1.182 2002/03/07 18:32:03 ianmacd Exp $
#
# Copyright (C) Ian Macdonald <ian@caliban.org>
#
@ -1785,25 +1785,51 @@ _p4()
}
[ "$have" ] && complete -F _p4 -o default p4 g4
# ant completion is modified from the original submitted by
# Claus-Peter Klas <peter.klas@uni-dortmund.de>
# ant(1) completion
#
have ant &&
_ant_targets()
_ant()
{
local cur prev buildfile i
COMPREPLY=()
local gcmd
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
# if we have a partial word to complete, restrict completions to
# matches of that word
[ ! -f build.xml ] && return 0
case "$prev" in
-buildfile)
COMPREPLY=( $( compgen -f -X '!*.xml' -- $cur ) \
$( compgen -d -- $cur ) )
return 0
;;
-logfile)
_filedir
return 0
;;
esac
[ -n "$2" ] && gcmd='grep "^$2"' || gcmd=cat
if [[ "$cur" == -* ]]; then
# relevant options completion
COMPREPLY=( $( compgen -W 'help projecthelp version quiet \
verbose debug emacs logfile logger listener \
buildfile D find' -P '-' -- $cur ) )
else
# available targets completion
# find wich buildfile to use
buildfile=build.xml
for (( i=1; i < COMP_CWORD; i++ )); do
if [[ "${COMP_WORDS[i]}" == -buildfile ]]; then
buildfile=${COMP_WORDS[i+1]}
break
fi
done
[ ! -f $buildfile ] && return 0
COMPREPLY=( $( awk 'BEGIN {FS="\""} /\<target/ {print $2}' < build.xml \
| tr -s ' ' '\012' | sort -u | eval $gcmd ) )
# parse buildfile for targets
COMPREPLY=( $( awk 'BEGIN {FS="\""} /<target name="/ {print $2}' $buildfile | grep ^$cur ) )
fi
}
[ "$have" ] && complete -F _ant_targets ant
[ "$have" ] && complete -F _ant -o filenames ant
have nslookup &&
_nslookup()