summaryrefslogtreecommitdiff
path: root/dev-ruby/rake/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-ruby/rake/files
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-ruby/rake/files')
-rw-r--r--dev-ruby/rake/files/rake.bash-completion54
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