Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Bug#491742: zsh: gpg --send-keys completion is broken



On Mon, Jul 21, 2008 at 08:22:55PM +0100, Magnus Therning wrote:
> `gpg --send-keys` completion completes on UIDs, but the command expects
> a key ID:
> 
> % gpg --send-keys magnus@xxxxxxxxxxxx
> gpg: "magnus@xxxxxxxxxxxx" not a key ID: skipping

Try this.

Index: Completion/Unix/Command/_gpg
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_gpg,v
retrieving revision 1.8
diff -u -r1.8 _gpg
--- Completion/Unix/Command/_gpg	7 Mar 2008 10:43:40 -0000	1.8
+++ Completion/Unix/Command/_gpg	23 Jul 2008 00:28:22 -0000
@@ -34,13 +34,13 @@
   '--gen-revoke[generate a revocation certificate]' \
   '--desig-revoke[generate a designated revocation certificate]' \
   '--export[export all key from all keyrings]' \
-  '--send-keys[send keys to a keyserver]:key attachment:->public-keys' \
+  '--send-keys[send keys to a keyserver]:key attachment:->public-keyids' \
   '--export-all[export all key and not OpenPGP compatible keys]' \
   '--export-secret-keys:key attachment:->secret-keys' \
   '--export-secret-subkeys:key attachment:->secret-keys' \
   '--import[import a gpg key from a file]:_files attachment:_files' \
   '--fast-import[import a file without build trustdb]:_files attachment:_files' \
-  '--recv-keys[receive a list of keys from a keyserver]:key attachment:->public-keys' \
+  '--recv-keys[receive a list of keys from a keyserver]:key attachment:->public-keyids' \
   '--refresh-keys[update all keys from a keyserver]' \
   '--search-keys[search for keys on a key server]' \
   '--update-trustdb[update the trust database]' \
@@ -170,6 +170,10 @@
     _wanted ciphers expl cipher compadd \
         ${${(s.,.)${(M)${(f)"$(_call_program ciphers gpg $needed --version)"}:#Cipher*}#*:}# } && return
   ;;
+  (public-keyids)
+    _wanted public-keys expl 'public keyid' \
+	compadd ${${${(M)${(f)"$(_call_program public-keyids gpg $needed --list-public-keys --list-options no-show-photos 2>/dev/null)"}:%pub*}#pub */}%% *} && return
+  ;;
 esac
 
 return ret



Messages sorted by: Reverse Date, Date, Thread, Author