[Bash-completion-commits] ./current r1187: Added gpg2 completion (Closes: #489927)

David Paleino d.paleino at gmail.com
Sat Sep 27 10:25:19 UTC 2008


------------------------------------------------------------
revno: 1187
committer: David Paleino <d.paleino at gmail.com>
branch nick: current
timestamp: Sat 2008-09-27 12:25:19 +0200
message:
  Added gpg2 completion (Closes: #489927)
added:
  contrib/gpg2
modified:
  bash_completion
  debian/changelog
-------------- next part --------------
=== modified file 'bash_completion'
--- a/bash_completion	2008-09-27 10:10:34 +0000
+++ b/bash_completion	2008-09-27 10:25:19 +0000
@@ -39,10 +39,10 @@
 
 # Alter the following to reflect the location of this file.
 #
-[ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=/etc/bash_completion
-[ -n "$BASH_COMPLETION_DIR" ] || BASH_COMPLETION_DIR=/etc/bash_completion.d
-#[ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=$(pwd)/bash_completion
-#[ -n "$BASH_COMPLETION_DIR" ] || BASH_COMPLETION_DIR=$(pwd)/contrib
+#[ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=/etc/bash_completion
+#[ -n "$BASH_COMPLETION_DIR" ] || BASH_COMPLETION_DIR=/etc/bash_completion.d
+[ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=$(pwd)/bash_completion
+[ -n "$BASH_COMPLETION_DIR" ] || BASH_COMPLETION_DIR=$(pwd)/contrib
 readonly BASH_COMPLETION BASH_COMPLETION_DIR
 
 # Set a couple of useful vars

=== added file 'contrib/gpg2'
--- a/contrib/gpg2	1970-01-01 00:00:00 +0000
+++ b/contrib/gpg2	2008-09-27 10:25:19 +0000
@@ -0,0 +1,41 @@
+# gpg2(1) completion
+#
+have gpg2 && {
+_gpg2 ()
+{
+	local cur prev
+	
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+	
+	case "$prev" in
+		--homedir)
+			_filedir -d
+			return 0
+			;;
+		-@(s|-sign|-clearsign|-options|-decrypt))
+			_filedir
+			return 0
+			;;
+		--@(export|@(?(l|nr|nrl)sign|edit)-key))
+			# return list of public keys
+			COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*$@\1 at p;s@^.*\(<\([^>]*\)>\).*$@\2 at p')" -- "$cur" ))
+			return 0
+			;;
+		-@(r|-recipient))
+			COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\1 at p')" -- "$cur" ))
+			if [ -e ~/.gnupg/gpg.conf ]; then
+				COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$( sed -ne 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1 at p' ~/.gnupg/gpg.conf)" -- "$cur"))
+			fi
+		return 0
+		;;
+	esac
+	
+	if [[ "$cur" == -* ]]; then
+		COMPREPLY=( $( compgen -W '-s -b -e -c -d -k -K -a -r -u -z -o -v \
+									-n -N -i -h -R -t $(gpg2 --dump-options)' -- $cur ) )
+	fi
+} &&
+complete -F _gpg2 $default gpg2
+}

=== modified file 'debian/changelog'
--- a/debian/changelog	2008-09-27 10:05:11 +0000
+++ b/debian/changelog	2008-09-27 10:25:19 +0000
@@ -26,9 +26,10 @@
     - -@(r|-recipient))
   * Added gksudo, gksu, kdesudo completion
   * Added apache2ctl completion
+  * Added gpg2 completion (Closes: #489927)
   * debian/links fixed (Closes: #494292)
 
- -- David Paleino <d.paleino at gmail.com>  Sat, 27 Sep 2008 12:04:42 +0200
+ -- David Paleino <d.paleino at gmail.com>  Sat, 27 Sep 2008 12:23:51 +0200
 
 bash-completion (20080705) unstable; urgency=low
 



More information about the Bash-completion-commits mailing list