Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: new version of GPG completion function

hi all,

i corrige my function

i'm happy because i success to use pattern matching :)
but there is yet some problems.. (like optionnel argument
of an option, is there the -w option of _arguments ?)

(Note : /join #zsh (OPN) )

 Bruno Bonfils
 Admin Sys Linux

 http://www.darksnow.org  http://www.debian-fr.org

<Pingouino> X windows c un concurrent de Windows Manager ?

                                                 - #linuxfr
#compdef gpg

# Author : Bruno Bonfils <asyd@xxxxxxxxxxxxx>
# Date   : Sept 2001
# Thanks to Oliver Kiddle and Denis Bodor

_pub-keys-list ()
	local list
	list=(${${(Mo)$(gpg --list-keys 2>/dev/null):%<*>}//(<|>)/})
	compadd $list

_sec-keys-list ()
	local list
	list=(${${(Mo)$(gpg --list-secret-keys 2>/dev/null):%<*>}//(<|>)/})
	compadd $list

_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]:user attachment:_users'\
	'(-b --detach-sign)'{-b,--detach-sign}'[make a detached signature]' \
	'(-s --sign)'{-s,--sign}'[sign a file]:file attachment:_files' \
	'(-e --encrypt)'{-e,--encrypt}'[encrypt data. this option may be combined  with --sign]' \
	'(-c --symetric)'{-c,--symetric}'[encrypt with symmetric cypher only]' \
	'-h[help]' \
	'--clearsign[make a clear text signature]' \
	'--check-sigs[lists key, signatures and check them]:key attachment:_pub-keys-list' \
	'--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]:key attachment:_sec-keys-list' \
	'--delete-secret-and-public-key[remove key from private & public keyring]:key attachment:_sec-keys-list' \
	'--edit-key[a menu for edit yours keys]:key attachment:_pub-keys-list' \
	'--export[export all key from all keyrings]:key attachment:_pub-keys-list' \
	'--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]:key attachment:_sec-keys-list' \
	'--export-secret-subkeys[same as --export but export the secret keys instead]:key attachment:_sec-keys-list' \
	'--fast-import[import a file without build trustdb]:_files attachment:_files' \
	'--fingerprint[list all keys with their fingerprints]:key attachment:_pub-keys-list' \
	'--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]' \
	'--list-sigs[lists keys and signatures]:key attachment:_pub-keys-list' \
	'--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]:key attachment:_pub-keys-list' \
	'--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]:file attachment:_files' \
	'--verify-files[verify a list of files]:_files attachment_files' \
			&& return 0

return 1

Attachment: pgp0oyGjvORol.pgp
Description: PGP signature

Messages sorted by: Reverse Date, Date, Thread, Author