I think repeat_phrase would be more useful/intuitive if when it appeared in with other things in an utterance it meant "repeat again all of the current utterance so far" rather than "repeat the previous utterance." Like if I say "all hail caesar" then pause, then say "foo bar buzz rep" I expect it to do "foo bar buzz" again, not "all hail caesar".
In mandimus I had some code to treat the repetition command specially, so the utterance history would automatically be broken whenever a repetition came in, to get this effect. This way if I said "rep" as an utterance it really did repeat the previous utterance, but if I said it as part of a larger utterance it would repeat what I had just said.
Note that just adding a separate "repeat this utterance so far" action would not quite give the desired effect, since then "rep" by itself or at the start of a new utterance would do nothing. You could maybe make it work by combining 2 rules:
rep : actions.repeat_so_far(number-1)
$rep : actions.repeat_phrase(number-1)
I dunno if talon prioritizes $ rules though.
I think
repeat_phrasewould be more useful/intuitive if when it appeared in with other things in an utterance it meant "repeat again all of the current utterance so far" rather than "repeat the previous utterance." Like if I say "all hail caesar" then pause, then say "foo bar buzz rep" I expect it to do "foo bar buzz" again, not "all hail caesar".In mandimus I had some code to treat the repetition command specially, so the utterance history would automatically be broken whenever a repetition came in, to get this effect. This way if I said "rep" as an utterance it really did repeat the previous utterance, but if I said it as part of a larger utterance it would repeat what I had just said.
Note that just adding a separate "repeat this utterance so far" action would not quite give the desired effect, since then "rep" by itself or at the start of a new utterance would do nothing. You could maybe make it work by combining 2 rules:
rep : actions.repeat_so_far(number-1)
$rep : actions.repeat_phrase(number-1)
I dunno if talon prioritizes $ rules though.