Skip to content

Commit f02e282

Browse files
authored
Merge pull request #702 from scop/feat/gpg-key-option-args
feat: gpg option arg completion improvements
2 parents 6d78b4d + eb2fcac commit f02e282

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed

completions/gpg

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,33 @@ _gpg()
66
_comp_initialize -- "$@" || return
77

88
case $prev in
9-
--sign | --clearsign | --decrypt-files | --load-extension | -!(-*)s)
9+
--sign | --clear-sign | --clearsign | --decrypt-files | \
10+
--load-extension | -!(-*)s)
1011
_filedir
1112
return
1213
;;
13-
--export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | --edit-key)
14+
--list-keys | --list-public-keys | --locate-keys | \
15+
--locate-external-keys | --fingerprint | --delete-keys | \
16+
--delete-secret-and-public-keys | --export | --refresh-keys | \
17+
--search-keys | --edit-key | --sign-key | --lsign-key | \
18+
--nrsign-key | --nrlsign-key | --try-secret-key | -!(-*)k)
1419
# return list of public keys
15-
COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \
16-
's@^pub.*/\([^ ]*\).*$@\1@p' -ne \
17-
's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur"))
20+
COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null |
21+
command sed -ne \
22+
's@^pub.*/\([^ ]*\).*$@\1@p' -ne \
23+
's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur"))
24+
return
25+
;;
26+
--list-secret-keys | --delete-secret-keys | --export-secret-keys | \
27+
--export-secret-subkeys | -!(-*)K)
28+
# return list of secret keys
29+
COMPREPLY=($(compgen -W "$($1 --list-secret-keys 2>/dev/null |
30+
command sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur"))
1831
return
1932
;;
2033
--recipient | -!(-*)r)
21-
COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \
22-
's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur"))
34+
COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null |
35+
command sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur"))
2336
if [[ -e ~/.gnupg/gpg.conf ]]; then
2437
COMPREPLY+=($(compgen -W "$(command sed -ne \
2538
's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1@p' \

completions/gpg2

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@ _gpg2()
1414
_filedir
1515
return
1616
;;
17-
--export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | --edit-key)
17+
--export | --sign-key | --lsign-key | --nrsign-key | --nrlsign-key | \
18+
--edit-key | --delete-keys | --delete-secret-and-public-keys | \
19+
--locate-keys | --refresh-keys)
1820
# return list of public keys
19-
COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null | command sed -ne \
20-
's@^pub.*/\([^ ]*\).*$@\1@p' -ne \
21-
's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur"))
21+
COMPREPLY=($(compgen -W "$($1 --list-keys 2>/dev/null |
22+
command sed -ne \
23+
's@^pub.*/\([^ ]*\).*$@\1@p' -ne \
24+
's@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur"))
2225
return
2326
;;
2427
--recipient | -!(-*)r)

0 commit comments

Comments
 (0)