about summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-07-24 11:52:58 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-07-24 11:52:58 +0000
commitadf2c2a0b606cae3de93bc2e452edf8213cb1d4a (patch)
treed6d52507686b6c5ffa19ac4b5a7368e4d8ac1c09 /Completion/Unix/Command
parentf863b492062738d228ec97604ea86224e012a0d4 (diff)
downloadzsh-adf2c2a0b606cae3de93bc2e452edf8213cb1d4a.tar.gz
zsh-adf2c2a0b606cae3de93bc2e452edf8213cb1d4a.tar.xz
zsh-adf2c2a0b606cae3de93bc2e452edf8213cb1d4a.zip
18893, 18901: new completions for rar/unrar and ogg vorbis; improve _pkgtool
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_rar137
-rw-r--r--Completion/Unix/Command/_vorbis99
2 files changed, 236 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_rar b/Completion/Unix/Command/_rar
new file mode 100644
index 000000000..73b8db3d4
--- /dev/null
+++ b/Completion/Unix/Command/_rar
@@ -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 "$@"
diff --git a/Completion/Unix/Command/_vorbis b/Completion/Unix/Command/_vorbis
new file mode 100644
index 000000000..8dd078b0d
--- /dev/null
+++ b/Completion/Unix/Command/_vorbis
@@ -0,0 +1,99 @@
+#compdef oggenc ogg123 ogginfo oggdec 
+
+_advanced_option() {
+    _values "options name" \
+        'bitrate_average_window[set  the  managed bitrate window to NN seconds.]:number:'\
+        'lowpass_frequency[set the lowpass frequency to NN kHz.]:number:'
+}
+_vorbis (){
+    local expl
+    case $service in
+    oggenc)
+        _arguments -C -s \
+    {'(--help)-h','(-h)--help'}'[show help]'\
+    {'(--raw)-r','(-r)--raw'}'[assume input data is raw little-endian audio data with no header information.]'\
+    {'(--raw-bits=)-B','(-B)--raw-bits='}'[sets raw mode input sample size in bits.]:sample size:(8 16)'\
+    {'(--raw-chan=)-C','(-C)--raw-chan='}'[sets raw mode input number of channels.]:number of channels:'\
+    {'(--raw-rate=)-R','(-R)--raw-rate='}'[sets raw mode input samplerate.]:samplerate:(44100 48000)'\
+    '--raw-endianness[sets raw mode endianness]:endianness:(( 0\:big\ endian 1\:little\ endian ))'\
+    {'(--quiet)-Q','(-Q)--quiet'}'[quiet mode.]'\
+    {'(--bitrate=)-b','(-b)--bitrate='}'[sets encoding to the bitrate closest to n (in kb/s).]:bitrate in kb/s:'\
+    {'(--min-bitrate=)-m','(-m)--min-bitrate='}'[sets minimum bitrate to n (in kb/s).]:bitrate in kb/s:'\
+    {'(--max-bitrate=)-M','(-M)--max-bitrate='}'[sets maximum bitrate to n (in kb/s).]:bitrate in kb/s:'\
+    '--managed[turn  off  the  normal  VBR encoding]'\
+    {'(--quality=)-q','(-q)--quality='}'[sets encoding quality.]:quality:(0 1 2 3 4 5 6 7 8 9 10)'\
+    '--resample[resample input to the given sample rate (in Hz) before encoding.]:sample rate:'\
+    '--downmix[downmix input from stereo to mono.]'\
+    '--advanced-encode-option[sets  an  advanced  option.]:option name:_advanced_option'\
+    {'(--serial)-s','(-s)--serial'}'[forces a specific serial number in the output  stream.]'\
+    {'(--output-file=)-o','(-o)--output-file='}'[write the Ogg Vorbis stream to output_file]:files:->oggfiles'\
+    {'(--pattern=)-n','(-n)--pattern='}'[produce filenames as this string]:string:'\
+    {'*-c','*--comment'}'[add the string comment as an extra comment.]:comment:'\
+    {'*-a','*--artist'}'[set the artist comment field in the comments to artist.]:artist:'\
+    {'*-G','*--genre'}'[set the genre comment field in the comments to genre.]:genre:'\
+    {'*-d','*--date'}'[sets the date comment field to the given value.]:date:'\
+    {'*-N','*--tracknum'}'[sets the track number comment field to the given value.]:track number:'\
+    {'*-t','*--title'}'[set the track title comment field to title.]:title:'\
+    {'*-l','*--album'}'[set the album comment field to album.]'\
+    '*:files:->wavfiles' && return 0
+        ;;
+    ogg123)
+        _arguments -C -s \
+        {'(-h)--help','(--help)-h'}'[show help]'\
+        {'(--version)-V','(-V)--version'}'[display version information.]'\
+        {'(-d)--device','(--device)-d'}'[output device.]:device:((null\:"discards all data" oss\:"Open Sound System" sun\:"Sun Audio" alsa\:"Advanced Linux Sound Architecture" irix\:"IRIX audio" arts\:"aRts Sound Daemon" esd\:"Enlightened Sound Daemon" au\:"Sun audio file" raw\:"Raw sample" wav\:"WAV file"))' \
+        {'(--files=)-f','(-f)--files='}'[output filename for a previously specified file device.]:output filename:_files'\
+        {'(--skip)-k','(-k)--skip'}'[skip the first '\''n'\'' seconds.]:seconds:'\
+        {'(--buffer)-b','(-b)--buffer'}'[size of input buffer.]:kilobytes:'\
+        {'(--prebuffer)-p','(-p)--prebuffer'}'[prebuffer percentage.]:percent:'\
+        {'(--quiet -q)*-v','(--quiet -q)*--verbose'}'[increase verbosity.]'\
+        {'(--verbose -v --quiet)-q','(-q --verbose -v)--quiet'}'[quiet mode.]'\
+        {'(--nth)-x','(-x)--nth'}'[block decode intervall.]:number:'\
+        {'(--ntimes)-y','(-y)--ntimes'}'[block repeat count.]:number:'\
+        {'(--shuffle)-z','(-z)--shuffle'}'[shuffle play.]'\
+        {'(--delay=)-l','(-l)--delay='}'[set delay in millisecond.]:milliseconds:'\
+        {'(--playlist)-@','(-@)--playlist'}'[Play all of  the  files from a playlist.]:playlist:_files'\
+        '--audio-buffer[size of output audio buffer.]:kilobytes:'\
+        {'*-o','*--device-option='}'[assign device option values]:devopts:->devopts'\
+        '*:files:->oggfiles' && return 0
+        ;;
+    ogginfo)
+        _arguments -C -s \
+        '-h[show a help and usage message]'\
+        '*-q[quiet  mode.]'\
+        '-v[verbose mode.]'\
+        '*:files:->oggfiles' && return 0
+        ;;
+    oggdec)
+        _arguments -C -s \
+        {'(--quiet)-q','(-q)--quiet'}'[quiet mode.]'\
+        {'(--help)-h','(-h)--help'}'[print help message.]'\
+        {'(--version)-v','(-v)--version'}'[display version information.]'\
+        {'(--bits=)-b','(-b)--bits='}'[bits per sample.]:bits per sample:(8 16)'\
+        {'(--endian=)-e','(-e)--endian'}'[set endianness for 16-bit output.]:endianness:(( 0\:\(default\)\ is\ little-endian\ \(Intel\ byte\ order\). 1\:is\ big-endian\ \(sane\ byte\ order\). ))'\
+        {'(--raw=)-R','(-R)--raw='}'[output  in  raw format.]'\
+        {'(--output=)-o','(-o)--output='}'[write output to specified filename.]:output filename:_files'\
+	    {'(--sign=)-s','(-s)--sign='}'[set signedness for output.]:signedness:(( 0\:unsigned 1\:signed\ \(default\) ))'\
+        '*:files:->oggfiles' && return 0
+        ;;
+    esac
+
+    case $state in
+    oggfiles)
+    _description files expl 'ogg vorbis files'
+    _files "$expl[@]" -g '*.ogg'
+    ;;
+    wavfiles)
+    _description files expl 'wav files'
+    _files "$expl[@]" -g '*.wav'
+    ;;
+    devopts)
+    _setup devopts
+    _tags devopts
+    _description devopts expl 'device options'
+    compadd "$expl[@]" -S : - dsp dev card buf_size host byteorder
+    ;;
+    esac
+}
+
+_vorbis "$@"