From f268d3be445fa0ffe68b2b1edb58946dad3d4493 Mon Sep 17 00:00:00 2001 From: Baptiste BEAUPLAT Date: Fri, 23 Aug 2019 19:36:26 +0200 Subject: [PATCH 3/7] Use parameter subtitution to get email from gpg uid --- Completion/Debian/Command/_sbuild | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Completion/Debian/Command/_sbuild b/Completion/Debian/Command/_sbuild index 0296c7a94..5796ed827 100644 --- a/Completion/Debian/Command/_sbuild +++ b/Completion/Debian/Command/_sbuild @@ -30,8 +30,16 @@ _get_identity() { } _get_gpg_key() { - compadd "$@" -- $(gpg -K --with-colons 2> /dev/null | grep '^uid:u:' | - grep -o -e '<[^>]*>' | tr -d '<>') + local -a lines uids + local line + + lines=(${(M)${(f)"$(_call_program gpg gpg -K --with-colons 2> /dev/null)"}:#uid:u*}) + + for line in "${lines[@]}"; do + uids+=("${${(s.:.)line}[5][(ws:<:)2,(ws:>:)1]}") + done + + compadd "$@" -- "${uids[@]}" } _sbuild() { -- 2.24.0