aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/contrib/pass.bash-completion
diff options
context:
space:
mode:
authorBrian Mattern <rephorm@rephorm.com>2012-09-22 08:54:38 -0700
committerBrian Mattern <rephorm@rephorm.com>2012-09-22 08:54:38 -0700
commit74815d52ccf0c0623fbb41dfad4a9978bb9a2986 (patch)
tree0d367077fb7e0892d18e3366206859f68a0121a6 /contrib/pass.bash-completion
parentsimplify logic slightly (diff)
parentBetter gpg key completion for `pass init` (diff)
downloadpassword-store-74815d52ccf0c0623fbb41dfad4a9978bb9a2986.tar.xz
password-store-74815d52ccf0c0623fbb41dfad4a9978bb9a2986.zip
Better gpg id completion
Names and email addresses (if present) are included
Diffstat (limited to 'contrib/pass.bash-completion')
-rw-r--r--contrib/pass.bash-completion10
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/pass.bash-completion b/contrib/pass.bash-completion
index 72f2abb..1b9e20e 100644
--- a/contrib/pass.bash-completion
+++ b/contrib/pass.bash-completion
@@ -37,6 +37,13 @@ _pass_complete_entries () {
done
}
+_pass_complete_keys () {
+ local IFS=$'\n'
+ # Extract names and email addresses from gpg --list-keys
+ local keys="$(gpg --list-keys | grep uid | sed -e 's/uid *\([^<]*\)\(<\(.*\)>\)\?/\1\n\3/' | sed -e 's/\(^ *\| *$\)//g')"
+ COMPREPLY+=($(compgen -W "${keys}" -- ${cur}))
+}
+
_pass()
{
COMPREPLY=()
@@ -46,8 +53,7 @@ _pass()
case "${COMP_WORDS[1]}" in
init)
COMPREPLY+=($(compgen -W "-e --reencrypt" -- ${cur}))
- local keys=$(gpg --list-keys |grep uid |sed 's/.*<\(.*\)>/\1/')
- COMPREPLY+=($(compgen -W "${keys}" -- ${cur}))
+ _pass_complete_keys
;;
ls|list|edit)
_pass_complete_entries