diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-ruby/rake/files/rake.bash-completion | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-ruby/rake/files/rake.bash-completion')
-rw-r--r-- | dev-ruby/rake/files/rake.bash-completion | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dev-ruby/rake/files/rake.bash-completion b/dev-ruby/rake/files/rake.bash-completion new file mode 100644 index 000000000000..dbdfbd02c410 --- /dev/null +++ b/dev-ruby/rake/files/rake.bash-completion @@ -0,0 +1,54 @@ +_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 |