mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-19 23:06:41 +01:00
55 lines
1.3 KiB
Text
55 lines
1.3 KiB
Text
have rake &&
|
|
_rake()
|
|
{
|
|
local cur prev rakef i
|
|
|
|
COMPREPLY=()
|
|
cur=${COMP_WORDS[COMP_CWORD]}
|
|
prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
rakef="Rakefile"
|
|
|
|
if [[ "$prev" == "-f" ]]; then
|
|
_filedir
|
|
return 0
|
|
fi
|
|
|
|
if [[ "$cur" == *=* ]]; then
|
|
prev=${cur/=*/}
|
|
cur=${cur/*=/}
|
|
if [[ "$prev" == "--rakefile=" ]]; then
|
|
_filedir -o nospace
|
|
return 0
|
|
fi
|
|
fi
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '-n -H -I -N -P -q -f\
|
|
-r -s -T -t -h -v -V\
|
|
--dry-run --help '--libdir=' --nosearch --prereqs --quiet\
|
|
'--rakefile=' '--require=' --silent --tasks --trace --usage\
|
|
--verbose --version'\
|
|
-- $cur ))
|
|
else
|
|
|
|
for (( i=0; i < ${#COMP_WORDS[@]}; i++)); do
|
|
case "${COMP_WORDS[i]}" in
|
|
-f)
|
|
eval rakef=${COMP_WORDS[i+1]}
|
|
break
|
|
;;
|
|
--rakefile=*|--rakefile\=*)
|
|
eval rakef=${COMP_WORDS[i]/*=/}
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
[ ! -f $rakef ] && return 0
|
|
|
|
COMPREPLY=( $( rake -s -f "$rakef" -T | \
|
|
awk -F ' ' '/^rake / { print $2 }' | \
|
|
command grep "^$cur" ))
|
|
|
|
fi
|
|
} &&
|
|
complete -F _rake $filenames rake
|