Skip to content

then

This directory contains a small but highly useful utility plugin designed to facilitate smoother voice command chaining and resolve syntactic ambiguities in Talon.

Command Boundary Hinting

The core functionality is defined in then.talon:

  • then.talon: Implements the then command, which executes skip().

How It Works

While then: skip() does not perform any action on its own, its presence in a spoken phrase serves as an explicit separator between commands. This is particularly valuable when using highly flexible, chainable tools like Cursorless, where Talon's parser might otherwise struggle to determine where one command ends and the next begins.

For example, consider the phrase:

"post line air"

This phrase is syntactically ambiguous: 1. Single command interpretation: Move the cursor to the end of the line containing the target "air" (the 'a' hat). 2. Chained command interpretation: Move the cursor to the end of the current line ("post line"), and then type the letter "a" ("air").

By inserting the then keyword, you explicitly signal the command boundary:

"post line then air"

This forces Talon to parse and execute "post line" first, followed by "air", eliminating the ambiguity and ensuring your commands are interpreted exactly as intended.