[java-common] 02/03: Added bash completion to update-java-alternatives (Closes: #777550)
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Fri Sep 25 16:13:24 UTC 2015
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 <ebourg at apache.org>
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
More information about the pkg-java-commits
mailing list