1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-04 22:51:42 +02:00

19798: rudimentary completion for bogoutil.

This commit is contained in:
Clint Adams 2004-04-19 20:58:47 +00:00
parent b5ceb73026
commit acbd025a02
3 changed files with 64 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2004-04-19 Clint Adams <clint@zsh.org>
* 19798: Completion/Unix/Command/.distfiles,
Completion/Unix/Command/_bogofilter: rudimentary completion for
bogoutil.
2004-04-19 Peter Stephenson <pws@csr.com>
* zsh=users/7365: Doc/Zsh/options.yo, Src/jobs.c, Src/options.c,

View file

@ -25,4 +25,5 @@ _mt _mtr _nice _nmap
_perforce _printenv _python _raggle _rar _renice
_sablotron _screen _sed _subversion _tla _php
_uniq _vorbis _vux _wiggle _xmlsoft
_bogofilter
'

View file

@ -0,0 +1,57 @@
#compdef bogoutil
local ret bogotokens
_bogoutil_caching_policy () {
# rebuild if cache is more than a week old
oldp=( "$1"(mw+1) )
(( $#oldp )) && return 0
return 1
}
_bogofilter() {
_arguments -C \
'-v[verbose]' \
'-n[replace non-ASCII characters]' \
'-D[redirect debug output to stdout]' \
'-a[acceptable token age]:date or day count' \
'-c[acceptable count]:count threshold' \
'-s[acceptable size range]:min-max range' \
'-y[date for when unknown]:date' \
'-I[input file]:input file:_files' \
'-x[debug flags]:debug flags:' \
'-d[print contents of db]:database:_files -g "*.db"' \
'-l[load file into db]:textfile:_files' \
'-m[perform maintenance functions]' \
'-w[display token information]:database file or directory:_files' \
'-w[display token probability information]:database file or directory:_files' \
'-H[print histogram]' \
'(-R)-r[recalculate ROBX]' \
'(-r)-R[recalculate and save ROBX]' \
'-h[help]' \
'-V[version]' \
'*:tokens:->tokens' && ret=0
zstyle -s ":completion:${curcontext}:" cache-policy update_policy
if [[ -z "$update_policy" ]]; then
zstyle ":completion:${curcontext}:" cache-policy _bogoutil_caching_policy
fi
case $state in
(tokens)
if ( [[ -z "$bogotokens" ]] || _cache_invalid bogotokens ) &&
! _retrieve_cache bogotokens; then
bogotokens=(${${(f)"$(_call_program bogoutil bogoutil -d ~/.bogofilter/wordlist.db -c 50)"}%% *})
_store_cache bogotokens bogotokens
else
:
fi
_wanted tokens expl "token" \
compadd -a bogotokens
;;
esac
}
_bogofilter "$@"