blob: 58423f712eb6cf781802175e1b73aac5dc44c565 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# bash completion for ant
have ant && {
_ant()
{
local cur prev buildfile i
COMPREPLY=()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-buildfile|-file|-f)
_filedir 'xml'
return 0
;;
-logfile|-l)
_filedir
return 0
;;
-propertyfile)
_filedir properties
return 0
;;
-nice)
COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9 10' \
-- "$cur" ) )
return 0
;;
-lib|-logger|-listener|-D|-inputhandler|-main)
return 0
;;
esac
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-help -h -projecthelp -p -version \
-diagnostics -quiet -q -verbose -v -debug -d -emacs -e \
-lib -logfile -l -logger -listener -noinput -buildfile \
-file -f -D -keep-going -k -propertyfile -inputhandler \
-find -s -nice -nouserlib -noclasspath -autoproxy \
-main' -- "$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
}
have complete-ant-cmd.pl && \
complete -C complete-ant-cmd.pl -F _ant $filenames ant || \
complete -F _ant $filenames ant
}
# 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
|