From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4644 invoked by alias); 4 Jan 2010 20:28:33 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 27559 Received: (qmail 2125 invoked from network); 4 Jan 2010 20:28:23 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS autolearn=ham version=3.2.5 Received-SPF: none (proxy.melb.primenet.com.au: domain at zsh.org does not designate permitted sender hosts) Date: Mon, 4 Jan 2010 20:28:14 +0000 From: Clint Adams To: Jesse Weinstein Cc: zsh-workers Subject: Re: [PATCH] espeak completion Message-ID: <20100104202814.GA31366@scru.org> References: <1262587636.24526.8.camel@zareason> <237967ef1001040314t7097c1afh99175949123dae25@mail.gmail.com> <1262626019.24526.14.camel@zareason> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1262626019.24526.14.camel@zareason> User-Agent: Mutt/1.5.18 (2008-05-17) 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: '