split gpg completion
This commit is contained in:
parent
c885f98455
commit
a6e8891e93
@ -27,6 +27,7 @@ bashcomp_DATA = contrib/ant \
|
||||
contrib/genisoimage \
|
||||
contrib/getent \
|
||||
contrib/gkrellm \
|
||||
contrib/gpg \
|
||||
contrib/gnatmake \
|
||||
contrib/gpg2 \
|
||||
contrib/gzip \
|
||||
|
@ -4462,44 +4462,6 @@ _dcop()
|
||||
} &&
|
||||
complete -F _dcop dcop
|
||||
|
||||
# gpg(1) completion
|
||||
#
|
||||
have gpg &&
|
||||
_gpg()
|
||||
{
|
||||
local cur prev
|
||||
|
||||
COMPREPLY=()
|
||||
cur=`_get_cword`
|
||||
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;s@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur" ))
|
||||
return 0
|
||||
;;
|
||||
-@(r|-recipient))
|
||||
COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\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
|
||||
COMPREPLY=( $( compgen -W '-s -b -e -f -c -d -a -r -u -Z -o -v\
|
||||
-q -n -N $(gpg --dump-options)' -- $cur ) )
|
||||
fi
|
||||
|
||||
} &&
|
||||
complete -F _gpg $default gpg
|
||||
|
||||
# iconv(1) completion
|
||||
#
|
||||
have iconv &&
|
||||
|
40
contrib/gpg
Normal file
40
contrib/gpg
Normal file
@ -0,0 +1,40 @@
|
||||
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
|
||||
# ex: ts=8 sw=8 noet filetype=sh
|
||||
#
|
||||
# bash completion for gpg
|
||||
|
||||
have gpg &&
|
||||
_gpg()
|
||||
{
|
||||
local cur prev
|
||||
|
||||
COMPREPLY=()
|
||||
cur=`_get_cword`
|
||||
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;s@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur" ))
|
||||
return 0
|
||||
;;
|
||||
-@(r|-recipient))
|
||||
COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\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
|
||||
COMPREPLY=( $( compgen -W '-s -b -e -f -c -d -a -r -u -Z -o -v\
|
||||
-q -n -N $(gpg --dump-options)' -- $cur ) )
|
||||
fi
|
||||
|
||||
} &&
|
||||
complete -F _gpg $default gpg
|
Loading…
x
Reference in New Issue
Block a user