diff --git a/bash_completion b/bash_completion index d5b5abbe..9487e53a 100644 --- a/bash_completion +++ b/bash_completion @@ -1,6 +1,6 @@ # bash_completion - some programmable completion functions for bash 2.05b # -# $Id: bash_completion,v 1.545 2003/04/17 09:38:27 ianmacd Exp $ +# $Id: bash_completion,v 1.546 2003/04/19 01:12:37 ianmacd Exp $ # # Copyright (C) Ian Macdonald # @@ -4525,15 +4525,22 @@ _gpg() prev=${COMP_WORDS[COMP_CWORD-1]} case "$prev" in - -@(s|-sign|-clearsign|-decrypt-files|-load-extension)) - _filedir - return 0 - ;; - --@(export|@(?(l|nr|nrl)sign|edit)-key)) - # return list of public keys - COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*$@\1@p')" -- "$cur")) - return 0 - ;; + -@(s|-sign|-clearsign|-decrypt-files|-load-extension)) + _filedir + return 0 + ;; + --@(export|@(?(l|nr|nrl)sign|edit)-key)) + # return list of public keys + COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*\(<\([^>]*\)>\).*$@\1 \3@p')" -- "$cur" )) + return 0 + ;; + -@(r|-recipient)) + COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^pub.*<\([^>]*\)>.*$@\1@p')" -- "$cur" )) + if [ -e ~/.gnupg/gpg.conf ]; then + COMPREPLY=( ${COMPREPLY[@]} $( compgen -W "$( sed -ne 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1@p' ~/.gnupg/gpg.conf )" -- "$cur") ) + fi + return 0 + ;; esac if [[ "$cur" == -* ]]; then