* oggenc tabcompletion itch
@ 2007-09-24 20:27 Mikael Magnusson
2007-09-25 13:44 ` Oliver Kiddle
0 siblings, 1 reply; 3+ messages in thread
From: Mikael Magnusson @ 2007-09-24 20:27 UTC (permalink / raw)
To: zsh-workers
The options completion for oggenc wants options like -q 3 with a
space, but oggenc accepts -q3 without a space happily too. Being lazy
i usually type -q3 without the space, but then oggenc -q3 <tab>
completes {1..10} instead of filenames, which is my issue.
Is there any easy way to modify the _vorbis completion file to fix
this? (probably also applies to all the other options, though i use
them more rarely).
the line for -q in _vorbis looks like
'(-q --quality)'{-q,--quality=}'[set encoding
quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
and is sent to _arguments -s
--
Mikael Magnusson
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: oggenc tabcompletion itch
2007-09-24 20:27 oggenc tabcompletion itch Mikael Magnusson
@ 2007-09-25 13:44 ` Oliver Kiddle
2007-09-25 14:30 ` [patch] " Mikael Magnusson
0 siblings, 1 reply; 3+ messages in thread
From: Oliver Kiddle @ 2007-09-25 13:44 UTC (permalink / raw)
To: Mikael Magnusson; +Cc: zsh-workers
"Mikael Magnusson" wrote:
> The options completion for oggenc wants options like -q 3 with a
> space, but oggenc accepts -q3 without a space happily too. Being lazy
> the line for -q in _vorbis looks like
> '(-q --quality)'{-q,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
By putting a + after the -q, you can indicate that the argument can
optionally be in the same word. Similarly, a - would mean that the
argument must be in the same word. So the line needs to be changed to:
'(-q --quality)'{-q+,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
Oliver
^ permalink raw reply [flat|nested] 3+ messages in thread
* [patch] Re: oggenc tabcompletion itch
2007-09-25 13:44 ` Oliver Kiddle
@ 2007-09-25 14:30 ` Mikael Magnusson
0 siblings, 0 replies; 3+ messages in thread
From: Mikael Magnusson @ 2007-09-25 14:30 UTC (permalink / raw)
To: Oliver Kiddle; +Cc: zsh-workers
On 25/09/2007, Oliver Kiddle <okiddle@yahoo.co.uk> wrote:
> "Mikael Magnusson" wrote:
> > The options completion for oggenc wants options like -q 3 with a
> > space, but oggenc accepts -q3 without a space happily too. Being lazy
>
> > the line for -q in _vorbis looks like
> > '(-q --quality)'{-q,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
>
> By putting a + after the -q, you can indicate that the argument can
> optionally be in the same word. Similarly, a - would mean that the
> argument must be in the same word. So the line needs to be changed to:
> '(-q --quality)'{-q+,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
Ah, thanks
Here's a patch (probably garbled by gmail, find also at
http://git.mikachu.ath.cx/?p=zsh-cvs.git;a=commitdiff_plain;h=vorbisplus)
that adds + to places where the ogg tools accept arguments. Also
spotted one or two double spaces in descriptions that I fixed.
diff --git a/Completion/Unix/Command/_vorbis b/Completion/Unix/Command/_vorbis
index 6bb201c..b91f35c 100644
--- a/Completion/Unix/Command/_vorbis
+++ b/Completion/Unix/Command/_vorbis
@@ -8,59 +8,59 @@ case $service in
'(- *)'{-h,--help}'[show help]' \
'(- *)'{-v,--version}'[display version information]' \
'(-r --raw)'{-r,--raw}'[assume input data is raw, little-endian
with no header information]' \
- '(-B --raw-bits)'{-B,--raw-bits=}'[set raw mode input sample
size in bits]:sample size:(8 16)' \
- '(-C --raw-chan)'{-C,--raw-chan=}'[set raw mode input number of
channels]:number of channels' \
- '(-R --raw-rate)'{-R,--raw-rate=}'[set raw mode input sample
rate]:sample rate:(44100 48000)' \
+ '(-B --raw-bits)'{-B+,--raw-bits=}'[set raw mode input sample
size in bits]:sample size:(8 16)' \
+ '(-C --raw-chan)'{-C+,--raw-chan=}'[set raw mode input number
of channels]:number of channels' \
+ '(-R --raw-rate)'{-R+,--raw-rate=}'[set raw mode input sample
rate]:sample rate:(44100 48000)' \
'--raw-endianness[set raw mode endianness]:endianness:((0\:big\
endian 1\:little\ endian))' \
'(-Q --quiet)'{-Q,--quiet}'[quiet mode]' \
- '(-b --bitrate)'{-b,--bitrate=}'[set encoding to the bitrate
closest to that specified]:bitrate (kb/s)' \
- '(-m --min-bitrate)'{-m,--min-bitrate=}'[set minimum
bitrate]:bitrate (kb/s)' \
- '(-M --max-bitrate)'{-M,--max-bitrate=}'[set maximum
bitrate]:bitrate (kb/s)' \
+ '(-b --bitrate)'{-b+,--bitrate=}'[set encoding to the bitrate
closest to that specified]:bitrate (kb/s)' \
+ '(-m --min-bitrate)'{-m+,--min-bitrate=}'[set minimum
bitrate]:bitrate (kb/s)' \
+ '(-M --max-bitrate)'{-M+,--max-bitrate=}'[set maximum
bitrate]:bitrate (kb/s)' \
'--managed[turn off the normal VBR encoding]' \
- '(-q --quality)'{-q,--quality=}'[set encoding
quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
+ '(-q --quality)'{-q+,--quality=}'[set encoding
quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \
'--resample[resample input to the given sample rate before
encoding]:sample rate (Hz)' \
'--downmix[down mix input from stereo to mono]' \
'--advanced-encode-option:option name:_values option
"bitrate_average_window[set the managed bitrate window]\:number
(seconds)" "lowpass_frequency[set the lowpass frequency]\:frequency
(kHz)"' \
- '(-s --serial)'{-s,--serial}'[force a specific serial number in
the output stream]' \
+ '(-s --serial)'{-s+,--serial=}'[force a specific serial number
in the output stream]' \
"--discard-comments[don't copy comments from FLAC file to
output Ogg Vorbis file]" \
- '(-o --output)'{-o,--output=}'[write the Ogg Vorbis stream to
output_file]:files:->oggfiles' \
- '(-n --names)'{-n,--names=}'[specify pattern for producing
filenames]:string' \
- '(-X --name-remove)'{-X,--name-remove=}'[remove specified
characters from output filenames]:characters' \
- '(-P --name-replace)'{-P,--name-replace=}'[specify replacement
characters for those removed]:characters' \
- '(-c --comment)'{-c,--comment}'[add the string comment as an
extra comment]:comment' \
- '(-a --artist)'{-a,--artist}'[set the artist comment field in
the comments to artist]:artist' \
- '(-G --genre)'{-G,--genre}'[set the genre comment field in the
comments to genre]:genre' \
- '(-d --date)'{-d,--date}'[set the date comment field to the
given value]:date' \
- '(-N --tracknum)'{-N,--tracknum}'[set the track number comment
field to the given value]:track number' \
- '(-t --title)'{-t,--title}'[set the track title comment field
to title]:title' \
- '(-l --album)'{-l,--album}'[set the album comment field to album]' \
+ '(-o --output)'{-o+,--output=}'[write the Ogg Vorbis stream to
output_file]:files:->oggfiles' \
+ '(-n --names)'{-n+,--names=}'[specify pattern for producing
filenames]:string' \
+ '(-X --name-remove)'{-X+,--name-remove=}'[remove specified
characters from output filenames]:characters' \
+ '(-P --name-replace)'{-P+,--name-replace=}'[specify replacement
characters for those removed]:characters' \
+ '(-c --comment)'{-c+,--comment}'[add the string comment as an
extra comment]:comment' \
+ '(-a --artist)'{-a+,--artist}'[set the artist comment field in
the comments to artist]:artist' \
+ '(-G --genre)'{-G+,--genre}'[set the genre comment field in the
comments to genre]:genre' \
+ '(-d --date)'{-d+,--date}'[set the date comment field to the
given value]:date' \
+ '(-N --tracknum)'{-N+,--tracknum}'[set the track number comment
field to the given value]:track number' \
+ '(-t --title)'{-t+,--title}'[set the track title comment field
to title]:title' \
+ '(-l --album)'{-l+,--album}'[set the album comment field to album]' \
'*:input file:_files -g "(#i)*.(flac|wav|aiff)(-.)"' && ret=0
;;
ogg123)
_arguments -C -s \
'(- *)'{-h,--help}'[show help]' \
'(- *)'{-V,--version}'[display version information]' \
- \*{-d,--device}'[output device]:device:((null\:discard\ 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))' \
- \*{-f,--files=}'[output filename for a previously specified
file device]:output filename:_files -g "(#i)*.(wav|au|raw)(-.)"' \
- '(-k --skip)'{-k,--skip}"[skip the first 'n' seconds (or to
hh:mm:ss)]:seconds" \
- '(-K --end)'{-K,--end}"[end at 'n' seconds (or hh:mm:ss)]:seconds" \
- '(-b --buffer)'{-b,--buffer}'[size of input buffer]:kilobytes' \
- '(-p --prebuffer)'{-p,--prebuffer}'[prebuffer percentage]:percent' \
+ \*{-d+,--device}'[output device]:device:((null\:discard\ 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))' \
+ \*{-f+,--files=}'[output filename for a previously specified
file device]:output filename:_files -g "(#i)*.(wav|au|raw)(-.)"' \
+ '(-k --skip)'{-k+,--skip}"[skip the first 'n' seconds (or to
hh:mm:ss)]:seconds" \
+ '(-K --end)'{-K+,--end}"[end at 'n' seconds (or hh:mm:ss)]:seconds" \
+ '(-b --buffer)'{-b+,--buffer}'[size of input buffer]:kilobytes' \
+ '(-p --prebuffer)'{-p+,--prebuffer}'[prebuffer percentage]:percent' \
'(-q --quiet)*'{-v,--verbose}'[increase verbosity]' \
'(-q --quiet -v --verbose)'{--quiet,-q}'[quiet mode]' \
- '(-x --nth)'{-x,--nth}'[block decode intervall]:number' \
- '(-y --ntimes)'{-y,--ntimes}'[block repeat count]:number' \
+ '(-x --nth)'{-x+,--nth}'[block decode intervall]:number' \
+ '(-y --ntimes)'{-y+,--ntimes}'[block repeat count]:number' \
'(-z --shuffle)'{-z,--shuffle}'[shuffle play]' \
- '(-l --delay)'{-l,--delay=}'[set delay between two SIGINTs to
quit]:delay (ms)' \
- '(-@ --list)'{-@,--list}'[play all of the files from a
playlist]:playlist:_files' \
- '--audio-buffer[size of output audio buffer]:kilobytes' \
+ '(-l --delay)'{-l+,--delay=}'[set delay between two SIGINTs to
quit]:delay (ms)' \
+ '(-@ --list)'{-@+,--list}'[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]:device
option:->devopts' \
'*:sound file or directory:_files -g "(#i)*.(ogg|flac)"' && ret=0
;;
ogginfo)
_arguments \
'(- *)-h[show a help and usage message]' \
- '(-)*-q[quiet mode]' \
+ '(-)*-q[quiet mode]' \
'(-)-v[verbose mode]' \
'*:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' && ret=0
;;
@@ -69,11 +69,11 @@ case $service in
'(-Q --quiet)'{-Q,--quiet}'[quiet mode]' \
'(- *)'{-h,--help}'[print help information]' \
'(- *)'{-v,--version}'[display version information]' \
- '(-b --bits)'{-b,--bits=}'[bits per sample]:bits per sample:(8 16)' \
- '(-e --endian)'{-e,--endian=}'[set endianness for 16-bit
output]:endianness:((0\:\(default\)\ little-endian\ \(Intel\ byte\
order\) 1\:big-endian\ \(sane\ byte\ order\)))' \
- '(-R --raw)'{-R,--raw=}'[output in raw format]' \
- '(-o --output)'{-o,--output=}'[write output to specified
filename]:output filename:_files' \
- '(-s --sign)'{-s,--sign=}'[set signedness for
output]:signedness:((0\:unsigned 1\:signed\ \(default\)))' \
+ '(-b --bits)'{-b+,--bits=}'[bits per sample]:bits per sample:(8 16)' \
+ '(-e --endian)'{-e+,--endian=}'[set endianness for 16-bit
output]:endianness:((0\:\(default\)\ little-endian\ \(Intel\ byte\
order\) 1\:big-endian\ \(sane\ byte\ order\)))' \
+ '(-R --raw)'{-R+,--raw=}'[output in raw format]' \
+ '(-o --output)'{-o+,--output=}'[write output to specified
filename]:output filename:_files' \
+ '(-s --sign)'{-s+,--sign=}'[set signedness for
output]:signedness:((0\:unsigned 1\:signed\ \(default\)))' \
'*:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' && ret=0
;;
esac
--
Mikael Magnusson
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-09-25 14:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-24 20:27 oggenc tabcompletion itch Mikael Magnusson
2007-09-25 13:44 ` Oliver Kiddle
2007-09-25 14:30 ` [patch] " Mikael Magnusson
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).