* [PATCH] espeak completion
@ 2010-01-04 6:47 Jesse Weinstein
2010-01-04 11:14 ` Mikael Magnusson
0 siblings, 1 reply; 5+ messages in thread
From: Jesse Weinstein @ 2010-01-04 6:47 UTC (permalink / raw)
To: zsh-workers
Pretty basic, so far -- but it does include and describe the options.
Jesse
----------
#compdef espeak
#TODO: complete arguments to -v
#TODO: complete non-existing filenames for -w and --phonout
#TODO: describe special cases for -k
#TODO: complete --punct better?
#TODO: complete language code for --voices, etc.
local expl
_arguments \
'-h[help]' \
'-f[file to speak]:text file:_files' \
'--stdin[speak from stdin]' \
'-q[quiet, no sound output]' \
'-a[aplitude]:integer:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20)' \
'-l[line length]:integer: ' \
'-p[pitch]:integer:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99)' \
'-s[speed]:words per minute: ' \
'-v[voice]:voice name: ' \
'-b[8-bit text]' \
'-m[SSML or other XML text]' \
'-w[wav output]:filename: ' \
'-x[output phoneme mnemonics]' \
'-X[output phoneme mnemonics and translation trace]' \
'--stdout[output speech to stdout]' \
'-k[captial letter indication]:integer:' \
'--punct=-::characters: ' \
'--voices=-[list available voices]::language code: ' \
'--path=-[espeak-data path]:path:_files -/' \
'--compile=-[compile]::voicename or debug: ' \
'--phonout=-[output filename for -x/-X]:filename: '
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] espeak completion
2010-01-04 6:47 [PATCH] espeak completion Jesse Weinstein
@ 2010-01-04 11:14 ` Mikael Magnusson
2010-01-04 17:26 ` Jesse Weinstein
0 siblings, 1 reply; 5+ messages in thread
From: Mikael Magnusson @ 2010-01-04 11:14 UTC (permalink / raw)
To: Jesse Weinstein; +Cc: zsh-workers
2010/1/4 Jesse Weinstein <jessw@netwood.net>:
> Pretty basic, so far -- but it does include and describe the options.
>
> Jesse
>
> ----------
> #compdef espeak
> '-a[aplitude]:integer:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
> '-k[captial letter indication]:integer:' \
typos, amplitude and capital
Not sure if you want to list the numbers like that, just say 'integer
1-20' instead maybe?
--
Mikael Magnusson
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] espeak completion
2010-01-04 11:14 ` Mikael Magnusson
@ 2010-01-04 17:26 ` Jesse Weinstein
2010-01-04 17:32 ` Mikael Magnusson
2010-01-04 20:28 ` Clint Adams
0 siblings, 2 replies; 5+ messages in thread
From: Jesse Weinstein @ 2010-01-04 17:26 UTC (permalink / raw)
To: Mikael Magnusson; +Cc: zsh-workers
On Mon, 2010-01-04 at 12:14 +0100, Mikael Magnusson wrote:
> typos, amplitude and capital
Oops. Thanks for catching those.
> Not sure if you want to list the numbers like that, just say 'integer
> 1-20' instead maybe?
I didn't think it would work -- and when I tested it just now, it
didn't. I *generated* the lists with {0..20}, but just using that gives
the error "(eval):1: command not found: 0..20". If there is a shorter
way to express it -- I'd be glad to use it.
Corrected patch follows.
Jesse
----------------------
#compdef espeak
#TODO: complete arguments to -v
#TODO: complete non-existing filenames for -w and --phonout
#TODO: describe special cases for -k
#TODO: complete --punct better?
#TODO: complete language code for --voices, etc.
_arguments \
'-h[help]' \
'-f[file to speak]:text file:_files' \
'--stdin[speak from stdin]' \
'-q[quiet, no sound output]' \
'-a[amplitude]:integer:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20)' \
'-l[line length]:integer: ' \
'-p[pitch]:integer:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99)' \
'-s[speed]:words per minute: ' \
'-v[voice]:voice name: ' \
'-b[8-bit text]' \
'-m[SSML or other XML text]' \
'-w[wav output]:filename: ' \
'-x[output phoneme mnemonics]' \
'-X[output phoneme mnemonics and translation trace]' \
'--stdout[output speech to stdout]' \
'-k[capital letter indication]:integer:' \
'--punct=-::characters: ' \
'--voices=-[list available voices]::language code: ' \
'--path=-[espeak-data path]:path:_files -/' \
'--compile=-[compile]::voicename or debug: ' \
'--phonout=-[output filename for -x/-X]:filename: '
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] espeak completion
2010-01-04 17:26 ` Jesse Weinstein
@ 2010-01-04 17:32 ` Mikael Magnusson
2010-01-04 20:28 ` Clint Adams
1 sibling, 0 replies; 5+ messages in thread
From: Mikael Magnusson @ 2010-01-04 17:32 UTC (permalink / raw)
To: Jesse Weinstein; +Cc: zsh-workers
2010/1/4 Jesse Weinstein <jessw@netwood.net>:
> On Mon, 2010-01-04 at 12:14 +0100, Mikael Magnusson wrote:
>
>> typos, amplitude and capital
> Oops. Thanks for catching those.
>> Not sure if you want to list the numbers like that, just say 'integer
>> 1-20' instead maybe?
> I didn't think it would work -- and when I tested it just now, it
> didn't. I *generated* the lists with {0..20}, but just using that gives
> the error "(eval):1: command not found: 0..20". If there is a shorter
> way to express it -- I'd be glad to use it.
What I meant was literally just doing
'-a[amplitude]:integer 1-20:'
There are precedents for either way though,
Completion/X/Command/_xv: '-preset:default preset (1-4):(1 2 3 4)' \
Completion/X/Command/_x_utils: '-mod:x grid distance (1-16): :y
grid distance (1-16)' \
(the latter is for xsetroot)
--
Mikael Magnusson
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] espeak completion
2010-01-04 17:26 ` Jesse Weinstein
2010-01-04 17:32 ` Mikael Magnusson
@ 2010-01-04 20:28 ` Clint Adams
1 sibling, 0 replies; 5+ messages in thread
From: Clint Adams @ 2010-01-04 20:28 UTC (permalink / raw)
To: Jesse Weinstein; +Cc: zsh-workers
On Mon, Jan 04, 2010 at 09:26:59AM -0800, Jesse Weinstein wrote:
> #TODO: complete arguments to -v
> #TODO: complete language code for --voices, etc.
print $(for i in ${${(f)"$(espeak --voices)"}[2,-1]}; do print "${${(z)i}[5]}"; done)
print $(for i in ${${(f)"$(espeak --voices)"}[2,-1]}; do print "${${(z)i}[2]}"; done)
Perhaps you'd like to make this dynamic. Also it appears that -v also
accepts the language codes.
Index: Completion/Unix/Command/_espeak
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_espeak,v
retrieving revision 1.1
diff -u -r1.1 _espeak
--- Completion/Unix/Command/_espeak 4 Jan 2010 20:16:23 -0000 1.1
+++ Completion/Unix/Command/_espeak 4 Jan 2010 20:26:46 -0000
@@ -1,10 +1,8 @@
#compdef espeak
-#TODO: complete arguments to -v
#TODO: complete non-existing filenames for -w and --phonout
#TODO: describe special cases for -k
#TODO: complete --punct better?
-#TODO: complete language code for --voices, etc.
_arguments \
'-h[help]' \
@@ -20,7 +18,7 @@
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99)' \
'-s[speed]:words per minute: ' \
- '-v[voice]:voice name: ' \
+ '-v[voice]:voice name:(afrikaans bosnian catalan czech welsh-test danish-test german greek default en-scottish english lancashire english_rp english_wmids english-us en-westindies esperanto spanish spanish-latin-american finnish french french greek-ancient hindi-test croatian hungarian armenian armenian-west indonesian-test icelandic-test italian test/jbo kurdish latin latvian macedonian-test dutch-test norwegian-test test/pap polish brazil portugal romanian russian_test slovak albanian serbian swedish swahihi-test tamil turkish vietnam-test Mandarin cantonese-test)' \
'-b[8-bit text]' \
'-m[SSML or other XML text]' \
'-w[wav output]:filename: ' \
@@ -29,7 +27,7 @@
'--stdout[output speech to stdout]' \
'-k[capital letter indication]:integer:' \
'--punct=-::characters: ' \
- '--voices=-[list available voices]::language code: ' \
+ '--voices=-[list available voices]::language code:(af bs ca cs cy da de el en en-sc en-uk en-uk-north en-uk-rp en-uk-wmids en-us en-wi eo es es-la fi fr fr-be grc hi hr hu hy hy id is it jbo ku la lv mk nl no pap pl pt pt-pt ro ru sk sq sr sv sw ta tr vi zh zh-yue)' \
'--path=-[espeak-data path]:path:_files -/' \
'--compile=-[compile]::voicename or debug: ' \
'--phonout=-[output filename for -x/-X]:filename: '
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-01-04 20:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-04 6:47 [PATCH] espeak completion Jesse Weinstein
2010-01-04 11:14 ` Mikael Magnusson
2010-01-04 17:26 ` Jesse Weinstein
2010-01-04 17:32 ` Mikael Magnusson
2010-01-04 20:28 ` Clint Adams
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).