From e362eb8e722ea6c63b2addc0d4550b4a7daa55db Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sun, 21 Jun 2009 09:22:31 -0400 Subject: Restored completion/be.bash. Oops. I seem to have removed it in my Thu 2008-11-27 19:35:55 -0500 commit. Luckily, the version I removed was still sitting right were it belongs as /etc/bash_completion.d/be Now it will be back in the tree. --- completion/be.bash | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 completion/be.bash (limited to 'completion') diff --git a/completion/be.bash b/completion/be.bash new file mode 100644 index 0000000..834bf25 --- /dev/null +++ b/completion/be.bash @@ -0,0 +1,39 @@ +#!/bin/bash +# Bash completion script for be (Bugs Everywhere) +# +# System wide installation: +# Copy this file to /etc/bash_completion/be +# Per-user installation: +# Copy this file to ~/.be-completion.sh and source it in your .bashrc: +# source ~/.be-completion.sh +# +# For a good intro to Bash completion, see Steve Kemp's article +# "An introduction to bash completion: part 2" +# http://www.debian-administration.org/articles/317 + +# Requires: +# be [X Y Z] --complete +# to print a list of available completions at that point +_be() +{ + local cur prev opts + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + if [ $COMP_CWORD -eq 1 ]; then + # no command yet, show all commands + COMPREPLY=( $( compgen -W "$(be --complete)" -- $cur ) ) + else + # remove the first word (should be "be") for security reasons + unset COMP_WORDS[0] + # remove the current word and all later words, because they + # are not needed for completion. + for i in `seq $COMP_CWORD ${#COMP_WORDS[@]}`; do + unset COMP_WORDS[$i]; + done + COMPREPLY=( $( compgen -W "$(be "${COMP_WORDS[@]}" --complete $cur)" -- $cur ) ) + fi +} + +complete -F _be be -- cgit