Hi, I modified _dput to get host completion. I send you the diff in case other people find it useful. arno. --- /home/arno/debsrc/zsh-4.3.4/Completion/Debian/Command/_dput 2005-11-06 16:04:39.000000000 +0100 +++ zshfunc/_dput 2007-09-07 20:01:49.000000000 +0200 @@ -1,5 +1,18 @@ #compdef dput + + (( $+functions[_dput_hosts] )) || +_dput_hosts() { + emulate -L zsh + setopt extendedglob + local -a hosts + local match mbegin mend + for conff in /etc/dput.cf ~/.dput.cf; do + hosts+=(${${(M)"${(f)$(<$conff)}":#\[(*~DEFAULT)\][[:blank:]]#}/\[(#b)(*)\][[:blank:]]#/${match[1]}}) + done + _wanted hosts expl 'hosts' compadd "$@" -a - hosts +} + _arguments \ '(-c --config)'{-c,--config}'[specify config file]:config file:_files' \ '(-d --debug)'{-d,--debug}'[debug mode]' \ @@ -11,4 +24,5 @@ '(-s --simulate)'{-s,--simulate}'[simulate an upload only]' \ '(-u --unchecked)'{-u,--unchecked}'[do not check GPG signature on the changes file]' \ '(-v --version)'{-v,--version}'[show version information]' \ - '*:changes file:_files -g "*.changes(-.)"' + '1: : _alternative "host:host:_dput_hosts" "files:change file:_files -g \*\.changes\(-\.\)"' \ + '*:file:_files -g "*.changes(-.)"'
Attachment:
signature.asc
Description: Digital signature