This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch master in repository java-common.
commit 1b427e72e04f473cc4c21e43d023cd40242d9561 Author: Emmanuel Bourg <[email protected]> Date: Fri Sep 25 17:36:28 2015 +0200 Added bash completion to update-java-alternatives (Closes: #777550) --- debian/changelog | 1 + debian/java-common.install | 1 + scripts/completion/update-java-alternatives | 60 +++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) diff --git a/debian/changelog b/debian/changelog index 0ba299e..0ca4f03 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ java-common (0.54) UNRELEASED; urgency=medium * Team upload. * Use OpenJDK 8 on mips, mipsel and mips64el. + * update-java-alternatives now supports bash completion (Closes: #777550) * Removed the unused classpath-from-jars-1 example * Removed the old dummy control files * Removed the README about the old default-jdk-builddep transition diff --git a/debian/java-common.install b/debian/java-common.install new file mode 100644 index 0000000..de8c434 --- /dev/null +++ b/debian/java-common.install @@ -0,0 +1 @@ +scripts/completion/update-java-alternatives usr/share/bash-completion/completions diff --git a/scripts/completion/update-java-alternatives b/scripts/completion/update-java-alternatives new file mode 100644 index 0000000..7e5444a --- /dev/null +++ b/scripts/completion/update-java-alternatives @@ -0,0 +1,60 @@ +# +# update-java-alternatives(8) completion +# + +shopt -s dotglob + +# +# List the available alternatives +# +_update-java-alternatives_list() +{ + prog=$(basename $0) + top=/usr/lib/jvm + for i in ${jinfo:-$top/*.jinfo}; do + alias=$(basename ${i%.jinfo}) + alias=${alias#.} + echo $alias + done +} + +_update-java-alternatives() +{ + local cur prev options + + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + options=() + + # suggest an action if none was specified yet + if [[ ! " ${COMP_WORDS[@]} " =~ " --set " ]] && [[ ! " ${COMP_WORDS[@]} " =~ " -s " ]] && [[ + ! " ${COMP_WORDS[@]} " =~ " --list " ]] && [[ ! " ${COMP_WORDS[@]} " =~ " -l " ]] && [[ + ! " ${COMP_WORDS[@]} " =~ " --auto " ]] && [[ ! " ${COMP_WORDS[@]} " =~ " -a " ]] && [[ + ! " ${COMP_WORDS[@]} " =~ " --help " ]] && [[ ! " ${COMP_WORDS[@]} " =~ " -h " ]]; then + options+=( --help --list --auto --set ) + fi + + # add the --set sub options + if [[ " ${COMP_WORDS[@]} " =~ " --set " ]] || [[ " ${COMP_WORDS[@]} " =~ " -s " ]] ; then + if [[ ! " ${COMP_WORDS[@]} " =~ " --verbose " ]] && [[ ! " ${COMP_WORDS[@]} " =~ " -v " ]]; then options+=("--verbose"); fi + if [[ ! " ${COMP_WORDS[@]} " =~ " --jre " ]]; then options+=("--jre"); fi + if [[ ! " ${COMP_WORDS[@]} " =~ " --jre-headless " ]]; then options+=("--jre-headless"); fi + if [[ ! " ${COMP_WORDS[@]} " =~ " --plugin " ]]; then options+=("--plugin"); fi + fi + + case "$prev" in + -s|--set|-l|--list) + COMPREPLY=( $( compgen -W '$(_update-java-alternatives_list)' -- $cur ) ) + ;; + -h|--help) + COMPREPLY=( ) + ;; + *) + COMPREPLY=( $( compgen -W '${options[@]}' -- $cur ) ) + ;; + esac + + return 0 +} && +complete -F _update-java-alternatives update-java-alternatives -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/java-common.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

