You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: click a page to read it, and a link in one to open it
The terminal has a pointer and Ink does not know it, so the reader asks for SGR
mouse reporting itself: the terminal then sends a CSI sequence per click and per
wheel notch, and Ink hands each one to `useInput` whole. Reading the pointer is
parsing a string, and the panes' geometry is what turns a row back into the page
that was clicked. The wheel answers to the pointer rather than to the focus:
whatever sits under it is what moves.
Links carry their target now, resolved against the page they were written on, so
a click on one opens it. They are also OSC 8 hyperlinks, which costs a sequence
Ink passes through untouched and no width at all: a terminal that speaks it
underlines the label and opens the URL on its own, and one that does not prints
the label alone, as before.
In exchange the terminal stops selecting text on its own -- that needs the usual
modifier held down while the reader is up.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F9YQGrxNQLRHRLarpzJXLm
Copy file name to clipboardExpand all lines: .changeset/cli-browse.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Read the published pmndrs documentation from the terminal: `npx @pmndrs/docs`.
6
6
7
7
Two new commands, both reading each library's published `llms-full.txt` — one GET per library, cached for an hour under `~/.cache/pmndrs-docs`, `--refresh` to fetch again:
8
8
9
-
-`browse [target]`, the default command, is a reader: pages on the left, the page on the right, `b` folds the sidebar away, `/` searches every library at once, `o` opens the page in a browser. A target lands straight where it points — `drei`, `drei/performances/instances`, or a query.
9
+
-`browse [target]`, the default command, is a reader: pages on the left, the page on the right, `b` folds the sidebar away, `/` searches every library at once, `o` opens the page in a browser. A target lands straight where it points — `drei`, `drei/performances/instances`, or a query. The mouse works too: click a page to read it, click a link in one to open it, and the wheel turns whichever pane it sits over — and links are terminal hyperlinks, so a terminal that speaks OSC 8 opens them on its own.
10
10
-`search <query>` is the same search with no screen: one result per line on stdout, in the `{lib} {path} - {title}` shape the MCP server publishes its index in, so a pipe or an agent can read it. `--in` narrows to a library, or to the matching lines of a single page.
11
11
12
12
Outside a terminal `browse` writes the page it was pointed at to stdout, rather than opening anything.
0 commit comments