#compdef gpg # Author : Bruno Bonfils # Date : Sept 2001 local context state line typeset -A opt_args _pub-keys-list () { local keys_list # i must rewrite this line using pattern matching for name in `gpg --list-keys | awk '/^pub/ { print $NF }' | tr "<|>" -d` do compadd "$name"; done } _arguments -C -s \ '-a[create ASCII armored output]' \ '-o[write output to file]:_files attachment:_files' \ '-u[use name as the user ID to sign]'\ '-b[make a detached signature]' \ '-s[sign a file]:file attachment:_files' \ '-e[encrypt data. this option may be combined with --sign]' \ '-h[help]' \ '--clearsign[make a clear text signature]' \ '--check-sigs[verify all signatures]' \ '--decrypt[decrypt file or stdin]:file attachment:_files' \ '--delete-key[remove key from public keyring]:key attachment:_pub-keys-list' \ '--delete-secret-key[remove key from public & private keyring]' \ '--delete-secret-and-public-key[remove key from private & public keyring]' \ '--edit-key[a menu for edit yours keys]:key attachment:_pub-keys-list' \ '--export[export all key from all keyrings]' \ '--export-all[export all key and not OpenPGP compatible keys]' \ '--export-ownertrust[list the assigned ownertrust values in ASCII format]' \ '--export-secret-keys[export a list of secret keys]' \ '--export-secret-subkeys[same as --export but export the secret keys instead'] \ '--fast-import[import a file without build trustdb]:_files attachment:_files' \ '--fingerprint[list all keys with their fingerprints]' \ '--gen-key[generate a new pair key]' \ '--gen-random[emit random bytes of the given level quality]' \ '--gen-prime[use the source, luke :-)]' \ '--import[import a gpg key from a file]:_files attachment:_files' \ '--import-ownertrust[update the trustdb with a file]:_files attachment:_files'\ '--keyserver[use server for send/recv keys]:_hosts attachment:_hosts' \ '--list-keys[list all keys]:key attachment:_pub-keys-list' \ '--list-public-keys[list all public keys]:key attachment:_pub-keys-list' \ '--list-secret-keys[list all secret keys]:key attachment:_pub-keys-list' \ '--list-packets[list only the sequence of packets]' \ '--lsign-key[sign a key but mark not is as non-exportable]:key attachment:_pub-keys-list' \ '--print-md[Print message digest of the given algorithm for all given files]' \ '--recv-keys[receive a list of keys from a keyserver]' \ '--send-keys[send keys to a keyserver]:key attachment:_pub-keys-list' \ '--sign-key[sign a key]:key attachment:_pub-keys-list '\ '--store[store only]' \ '--trusted-key[assume that the specified key is trustworthy]' \ '--verify[verify a signature]' \ '--verify-files[verify a list of files]:file attachment:_files' \ && return 0 return 1