1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-11-01 18:30:55 +01:00

18893, 18901: new completions for rar/unrar and ogg vorbis; improve _pkgtool

This commit is contained in:
Oliver Kiddle 2003-07-24 11:52:58 +00:00
parent f863b49206
commit adf2c2a0b6
4 changed files with 244 additions and 1 deletions

View file

@ -0,0 +1,137 @@
#compdef rar unrar
_rar(){
case $service in
rar)
_arguments -s \
'*::rar command:_rar_command'
;;
unrar)
_arguments -s \
'*::unrar command:_unrar_command'
;;
esac
}
_compression_level() {
compression_level=
_tags compression_level && { compadd "$@" -k compression_level || compadd "$@" ${(kv)=compression_level} }
}
_dico_size() {
dico_size=(64 128 256 512 1024 2048 4096 a b c d e f g)
_tags dico_size && { compadd "$@" -k dico_size || compadd "$@" ${(kv)=dico_size} }
}
_unrar_command () {
cmd=(e l lt p t v vt x)
if (( CURRENT == 1 ));then
_tags cmd && { compadd "$@" -k cmd || compadd "$@" ${(kv)=cmd} }
else
_arguments -C \
'-ad[Append archive name to destination path]'\
'-ap[Set path inside archive]'\
'-av\-[Disable authenticity verification check]'\
'-c\-[Disable comments show]'\
'-cfg\-[Disable read configuration]'\
'-cl\-[Convert names to lower case]'\
'-cu[Convert names to upper case]'\
'-dh[Open shared files]'\
'-ep[Exclude paths from name]'\
'-f[Freshen files]'\
'-idp[Disable percentage display]'\
'-ierr[Send all messages to stderr]'\
'-inul[Disable all messages]'\
'-kb[Keep broken extracted files]'\
'-o\+[Overwrite existing files]'\
'-o\-[Do not overwrite existing files]'\
'-ow[Save or restore file owner and group]'\
'-p\-[Do not query password]'\
'-r[Recurse subdirectorie]'\
'-ta[Process files modified after <date> in YYYYMMDDHHMMSS format]'\
'-tb[Process files modified before <date> in YYYYMMDDHHMMSS format]'\
'-tn[Process files newer than <time>]'\
'-to[Process files older than <time>]'\
'-u[Update files]'\
'-v[Create volumes with size autodetection or list all volumes]'\
'-ver[File version control]'\
'-vp[Pause before each volume]'\
'-x[Exclude specified file]'\
'-y[Assume Yes on all queries]'\
'*:RAR files:_files -g \*.rar' && return 0
fi
}
_rar_command () {
cmd=(a c cf cw d e f i k l lt m mf p r rc rr rv s t u v vt x)
if (( CURRENT == 1 ));then
_tags cmd && { compadd "$@" -k cmd || compadd "$@" ${(kv)=cmd} }
else
_arguments -s \
'-ad[Append archive name to destination path]'\
'-ag[Generate archive name using the current date]'\
'-ap[Set path inside archive]'\
'-as[Synchronize archive contents]'\
'-av[Put authenticity verification (registered versions only)]'\
'-av\-[Disable authenticity verification check]'\
'-c\-[Disable comments show]'\
'-cfg\-[Disable read configuration]'\
'-cl\-[Convert names to lower case]'\
'-cu[Convert names to upper case]'\
'-df[Delete files after archiving]'\
'-dh[Open shared files]'\
'-ds[Disable name sort for solid archive]'\
'-e[Set file exclude attributes]'\
'-ed[Do not add empty directories]'\
'-en[Do not put end of archive block]'\
'-ep[Exclude paths from name]'\
'-ep1[Exclude base directory from names]'\
'-ep2[Expand paths to full]'\
'-f[Freshen files]'\
'-hp[Encrypt both file data and headers]'\
'-idp[Disable percentage display]'\
'-ierr[Send all messages to stderr]'\
'-ilog[Log errors to file (registered versions only)]'\
'-inul[Disable all messages]'\
'-isnd[Enable sound]'\
'-k[Lock archive]'\
'-kb[Keep broken extracted files]'\
'-m+[Set compression level (0-store...3-default...5-maximal)]:compression level:(( 0\:store 1\:fastest 2\:fast 3\:normal 4\:good 5\:maximal ))'\
'-md+[Dictionary size in KB]:dictionaty size in KB:_dico_size' \
'-ms[Specify file types to store]'\
'-o\+[Overwrite existing files]'\
'-o\-[Do not overwrite existing files]'\
'-ol[Save symbolic links as the link instead of the file]'\
'-ow[Save or restore file owner and group]'\
'-p[Set password]'\
'-p\-[Do not query password]'\
'-r[Recurse subdirectorie]'\
'-r0[Recurse subdirectories for wildcard names only]'\
'-rr[Add data recovery record]'\
'-rv[Create recovery volumes]'\
'-s[Create solid archive]'\
'-se[Create solid archive using extension]'\
'-sv[Create solid archive using volumes]'\
'-s\-[Disable solid archiving]'\
'-sfx[Create SFX archive]'\
'-t[Test files after archiving]'\
'-ta[Process files modified after <date> in YYYYMMDDHHMMSS format]'\
'-tb[Process files modified before <date> in YYYYMMDDHHMMSS format]'\
'-tk[Keep original archive time]'\
'-tl[Set archive time to latest file]'\
'-tn[Process files newer than <time>]'\
'-to[Process files older than <time>]'\
'-u[Update files]'\
'-v[Create volumes with size autodetection or list all volumes]'\
'-ver[File version control]'\
'-vn[Use the old style volume naming scheme]'\
'-vp[Pause before each volume]'\
'-w+[Assign work directory]:work directory:_files -/'\
'-x[Exclude specified file]'\
'-y[Assume Yes on all queries]'\
'-z+[Read archive comment from file]:comment file:_files' \
'*:files:_files'
fi
}
_rar "$@"