SIGN IN SIGN UP

feat(composer): act on the token under a right click

Right-clicking an address, a link or a path in the composer got a menu with
Cut and Copy greyed out. Both are gated on a non-empty selection, snapshotted
from the editor on open (contextSelectionActive), and a right click only moves
the caret, so the only way to copy a token was to highlight it by hand first.

A right click over the editing surface now selects the token under the pointer
before either menu opens, so Cut and Copy apply to it with nothing selected by
hand. The unit is the whitespace-delimited run with wrapping punctuation peeled
off, classified as an address, a link, a path or a plain word by a pure helper
(lib/text-token-at.ts). A right click inside a live selection leaves that
selection alone, the way a native text field behaves.

Where a token has somewhere to go, one row appears above the editing items:
open a link, write to an address, open a local file. It routes through the same
opener the transcript uses for its links, so the protocol allow list, the
desktop/web/remote routing and the failure toasts are the ones already in
place, and a token with no safe destination (a plain word, a bare relative
path) simply gets no row.

The selection step sits outside the radix trigger on purpose: in a non-secure
web context the custom menu stays disabled and the browser own menu appears,
and that one now opens over a selected token too.
A
Adam Dalloul committed
06a2a50361ca353ea9508bb40f4488e92ce293a5
Parent: 6f6bd64