From ba3b8ebcf5551c4b47df8436a1330b7b595a188d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 20 Feb 2022 20:01:30 +0200 Subject: [PATCH 1/4] feat(gpg,gpg2): more key option argument completions --- completions/gpg | 4 +++- completions/gpg2 | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/completions/gpg b/completions/gpg index da7eaaf0f72..3b737dc087f 100644 --- a/completions/gpg +++ b/completions/gpg @@ -10,7 +10,9 @@ _gpg() _filedir return ;; - --export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | --edit-key) + --export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | \ + --edit-key | --delete-keys | --delete-secret-and-public-keys | \ + --locate-keys | --refresh-keys) # return list of public keys COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \ 's@^pub.*/\([^ ]*\).*$@\1@p' -ne \ diff --git a/completions/gpg2 b/completions/gpg2 index b3515b7c83b..4aac4c55f43 100644 --- a/completions/gpg2 +++ b/completions/gpg2 @@ -14,7 +14,9 @@ _gpg2() _filedir return ;; - --export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | --edit-key) + --export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | \ + --edit-key | --delete-keys | --delete-secret-and-public-keys | \ + --locate-keys | --refresh-keys) # return list of public keys COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \ 's@^pub.*/\([^ ]*\).*$@\1@p' -ne \ From b17e9d330d93d89e60b4933975fdb945a7334384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 20 Feb 2022 20:03:28 +0200 Subject: [PATCH 2/4] style(gpg,gpg2): split long lines --- completions/gpg | 11 ++++++----- completions/gpg2 | 7 ++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/completions/gpg b/completions/gpg index 3b737dc087f..178aba163f0 100644 --- a/completions/gpg +++ b/completions/gpg @@ -14,14 +14,15 @@ _gpg() --edit-key | --delete-keys | --delete-secret-and-public-keys | \ --locate-keys | --refresh-keys) # return list of public keys - COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \ - 's@^pub.*/\([^ ]*\).*$@\1@p' -ne \ - 's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur")) + COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | + command sed -ne \ + 's@^pub.*/\([^ ]*\).*$@\1@p' -ne \ + 's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur")) return ;; --recipient | -!(-*)r) - COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \ - 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur")) + COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | + command sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur")) if [[ -e ~/.gnupg/gpg.conf ]]; then COMPREPLY+=($(compgen -W "$(command sed -ne \ 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1@p' \ diff --git a/completions/gpg2 b/completions/gpg2 index 4aac4c55f43..24defcdc508 100644 --- a/completions/gpg2 +++ b/completions/gpg2 @@ -18,9 +18,10 @@ _gpg2() --edit-key | --delete-keys | --delete-secret-and-public-keys | \ --locate-keys | --refresh-keys) # return list of public keys - COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \ - 's@^pub.*/\([^ ]*\).*$@\1@p' -ne \ - 's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur")) + COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | + command sed -ne \ + 's@^pub.*/\([^ ]*\).*$@\1@p' -ne \ + 's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur")) return ;; --recipient | -!(-*)r) From a4deb37c07ca46e816c153a80596428cfbb1496e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 4 Dec 2022 11:34:17 +0200 Subject: [PATCH 3/4] feat(gpg): more key option argument completions While at it, sort options the same as in the man page. --- completions/gpg | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/completions/gpg b/completions/gpg index 178aba163f0..13b78b48f1d 100644 --- a/completions/gpg +++ b/completions/gpg @@ -10,9 +10,11 @@ _gpg() _filedir return ;; - --export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | \ - --edit-key | --delete-keys | --delete-secret-and-public-keys | \ - --locate-keys | --refresh-keys) + --list-keys | --list-public-keys | --locate-keys | \ + --locate-external-keys | --fingerprint | --delete-keys | \ + --delete-secret-and-public-keys | --export | --refresh-keys | \ + --search-keys | --edit-key | --sign-key | --lsign-key | \ + --nrsign-key | --nrlsign-key | --try-secret-key | -!(-*)k) # return list of public keys COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \ @@ -20,6 +22,13 @@ _gpg() 's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur")) return ;; + --list-secret-keys | --delete-secret-keys | --export-secret-keys | \ + --export-secret-subkeys | -!(-*)K) + # return list of secret keys + COMPREPLY=($(compgen -W "$($1 --list-secret-keys 2>/dev/null | + command sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur")) + return + ;; --recipient | -!(-*)r) COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur")) From eb2fcac110633d359d9bb0241c2483ea2b69e03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 4 Dec 2022 11:35:17 +0200 Subject: [PATCH 4/4] feat(gpg): recognize `--clear-sign` --- completions/gpg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/completions/gpg b/completions/gpg index 13b78b48f1d..054973cd625 100644 --- a/completions/gpg +++ b/completions/gpg @@ -6,7 +6,8 @@ _gpg() _comp_initialize -- "$@" || return case $prev in - --sign | --clearsign | --decrypt-files | --load-extension | -!(-*)s) + --sign | --clear-sign | --clearsign | --decrypt-files | \ + --load-extension | -!(-*)s) _filedir return ;;