diff options
author | David Paleino <dapal@debian.org> | 2011-02-06 21:26:41 +0100 |
---|---|---|
committer | David Paleino <dapal@debian.org> | 2011-02-06 21:26:41 +0100 |
commit | 9920a8faedf704420571d8072ccab27e9dac40ba (patch) | |
tree | 733edf3b07be06c130d04aaa1884213326722cad /completions/gpg2 | |
parent | f9748115fb4b2950fb4df7535fb723c4affde078 (diff) | |
download | bash-completion-9920a8faedf704420571d8072ccab27e9dac40ba.tar.gz |
Imported Upstream version 1.3upstream/1.3
Diffstat (limited to 'completions/gpg2')
-rw-r--r-- | completions/gpg2 | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/completions/gpg2 b/completions/gpg2 new file mode 100644 index 00000000..b99783f9 --- /dev/null +++ b/completions/gpg2 @@ -0,0 +1,52 @@ +# gpg2(1) completion + +have gpg2 && { +_gpg2 () +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + --homedir) + _filedir -d + return 0 + ;; + -s|--sign|--clearsign|--options|--decrypt) + _filedir + return 0 + ;; + --export|--sign-key|--lsign-key|--nrsign-key|--nrlsign-key|--edit-key) + # return list of public keys + COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | \ + sed -ne 's@^pub.*/\([^ ]*\).*$@\1@p' \ + -ne 's@^.*\(<\([^>]*\)>\).*$@\2@p' )" -- "$cur" ) ) + return 0 + ;; + -r|--recipient) + COMPREPLY=( $( compgen -W "$( gpg2 --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 '$(gpg2 --dump-options)' -- "$cur" ) ) + fi +} && +complete -F _gpg2 -o default gpg2 +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |