zsh-workers
 help / color / mirror / code / Atom feed
* [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).