mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-21 16:02:20 +00:00
`--enter` is documented as sugar for `--key enter`, but the send dispatch counted only `args.keys`, so `tty7 send %42 --enter` answered "needs TEXT ... or a --key to press" and pressed nothing. The key list is now built before the dispatch and the dispatch counts it, so a marked address with `--enter` and nothing else runs what the pane already has typed, and a bare `send --enter` presses Enter where the caller sits. An unmarked id is deliberately left out of that promotion. #567 made the address slot take bare ids, and `send 83 --key C-c` addressing pane 83 is fine because `--key` says "press this" and nothing else. `--enter` does not: `send 2 --enter` reads at least as much like typing 2 into your own pane and running it, and turning it into a keystroke at pane 2 would be the silent retarget #567 spent its diff closing. It stays a loud error, now naming both spellings (`send %83 --enter`, `send %PANE 83 --enter`) rather than only the typing one. The reference, the bundled skill reference, `send --help` and the `--enter` help all said the old thing in slightly different words; they now say the same thing as each other and as the code. Co-authored-by: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com>
This commit is contained in:
+14
-9
@@ -93,15 +93,20 @@ share kept by the *existing* pane. Prints `%NN`. JSON: `{"pane"}`.
|
||||
|
||||
### `tty7 send [%PANE] [TEXT] [--enter] [--key KEY]…`
|
||||
|
||||
Types `TEXT` into the pane as keystrokes; `--enter` appends CR. With one
|
||||
argument the text is the argument and the pane comes from `$TTY7_PANE` — but a
|
||||
lone `%42` (or bare `42`, the shape `pane ls --json` prints) is rejected as a
|
||||
missing-text error rather than typed, unless a `--key` gives it something to
|
||||
do. A `%` followed by a digit that still doesn't parse (`%3x`) is an address
|
||||
error, never text for your own pane — while text that merely starts with `%`
|
||||
(`%s/foo/bar/`, `%!sort`) types as given, as does anything unmarked that is not
|
||||
a plain number (`3x`, `+5`). To type an address-shaped string, name the pane as
|
||||
well: `tty7 send %42 %3x`.
|
||||
Types `TEXT` into the pane as keystrokes; `--enter` is shorthand for `--key
|
||||
enter` — it appends CR to the text, or presses Enter on its own when there is
|
||||
none, so `tty7 send %42 --enter` runs whatever pane 42 already has typed. With
|
||||
one argument the text is the argument and the pane comes from `$TTY7_PANE` —
|
||||
but a lone `%42` (or bare `42`, the shape `pane ls --json` prints) is rejected
|
||||
as a missing-text error rather than typed, unless a `--key` gives it something
|
||||
to do. `--enter` is that key only for the `%`-marked spelling: `tty7 send 83
|
||||
--enter` is refused, because it reads as much like typing `83` into your own
|
||||
pane as like pressing Enter in pane 83, and the error names both ways to say
|
||||
which (`send %83 --enter`, `send %PANE 83 --enter`). A `%` followed by a digit
|
||||
that still doesn't parse (`%3x`) is an address error, never text for your own
|
||||
pane — while text that merely starts with `%` (`%s/foo/bar/`, `%!sort`) types
|
||||
as given, as does anything unmarked that is not a plain number (`3x`, `+5`). To
|
||||
type an address-shaped string, name the pane as well: `tty7 send %42 %3x`.
|
||||
|
||||
`--key` presses a key instead of typing characters, which is what a pane wants
|
||||
once something is already running in it: answering a prompt that only takes
|
||||
|
||||
Reference in New Issue
Block a user