#compdef espeak

#TODO: complete non-existing filenames for -w and --phonout
#TODO: describe special cases for -k
#TODO: complete --punct better?

_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:(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: ' \
    '-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:(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: ' 
