Commit Graph
135 Commits
Author SHA1 Message Date
Mitchell Hashimoto 2044e5030f terminal: make stream processing infallible
The terminal.Stream next/nextSlice functions can now no longer fail.
All prior failure modes were fully isolated in the handler `vt`
callbacks. As such, vt callbacks are now required to not return an error
and handle their own errors somehow.

Allowing streams to be fallible before was an incorrect design. It
caused problematic scenarios like in `nextSlice` early terminating
processing due to handler errors. This should not be possible.

There is no safe way to bubble up vt errors through the stream because
if nextSlice is called and multiple errors are returned, we can't
coalesce them. We could modify that to return a partial result but its
just more work for stream that is unnecessary. The handler can do all of
this.

This work was discovered due to cleanups to prepare for more C APIs.
Less errors make C APIs easier to implement! And, it helps clean up our
Zig, too.
2026-03-13 13:56:14 -07:00
Mitchell Hashimoto 80d6e71aec inspector: show more semantic prompt state for screen 2026-02-02 10:44:35 -08:00
Mitchell Hashimoto e9b6fea11c terminal: move semantic prompt state into its own field in screen 2026-02-02 09:19:18 -08:00
Mitchell Hashimoto e7e3903151 inspector: show if we've seen semantic content in screen 2026-01-31 13:41:54 -08:00
Mitchell Hashimoto f14a1306cd renderer: semantic prompt overlay 2026-01-31 13:31:40 -08:00
Mitchell Hashimoto 513b55e0a4 inspector: always render the surface when the inspector is opened 2026-01-31 09:14:29 -08:00
Mitchell Hashimoto dc2cca6490 inspector: renderer panel 2026-01-31 09:06:07 -08:00
Mitchell Hashimoto 400d17aa0d inspector: remove cell picker 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto 3793188e38 inspector: termio revamp 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto 75eac6e3ea terminal: stream handleManually => vtRaw 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto 4fa2dab20d inspector: clean up termio layouts 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto 32ac82c66f inspector: no longer holds surface pointer 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto 3e825dd608 inspector: clean up Inspector 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto e9439533a7 inspector: prettify keyboard stream 2026-01-31 08:47:15 -08:00
Mitchell Hashimoto caf301d548 inspector: move termio to dedicated widget 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto b2c8cdbc90 inspector: key events 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 9056fa7fd1 inspector: cell inspector 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 19d2fca9c4 inspector: grid 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 76fe2e9fbb inspector: hyperlinks 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 3246d1f7ef inspector: page managed styles 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 3ac4f70e48 inspector: clean up page 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 51ce210833 terminal: add helpers to BitmapAllocator for sizing 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 9b75f4a799 inspector: page improvements 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto c8e048f309 inspector: pagelist 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 7f008d126f inspector: surface info is back 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto 53b2a777e7 inspector: screen info has its own dockspace 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto fdbe4343c2 remove some unused files 2026-01-31 08:47:14 -08:00
Mitchell Hashimoto b37ac8b287 inspector: screen cursor info 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 5c867bf1d7 inspector: move style to widgets dir 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 82dd9021bf inspector: starting screen 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 28086a7adc inspector: terminal migrate content 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 7cfac87fc4 inspector: trying new stuff 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 38aae2325d inspector: trying new logic layout 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 7073fb88f4 inspector: remove cursor helper, move it to screen, style helper 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto bdd0295e0e inspector: add style file for style widgets 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 1fa74b19e8 inspector: grid section lets you pick a cell 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto f23e67388d inspector: add grid section to screen 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 4992212ecd inspector: add more cursor state 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto e5a03a103c inspector: show warning if inactive screen being viewed 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 0b3f4ae340 inspector: move screens to terminal section 2026-01-31 08:47:13 -08:00
Mitchell Hashimoto 4c5af7073e inspector: move screen window to dedicated file 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 4c2ea6a9d8 inspector: fix up detachable headers to dock 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 1d7def0d2e inspector: move modes out to separate header 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 86af16b081 inspector: move surface window out to its own file 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto ff14938389 inspector: detachable collapsing headers 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto d58703a245 update AGENTS.md 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 061730ef97 inspector: terminal mouse section 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 03f012f567 inspector: terminal colors 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 41b5dc4928 inspector: terminal tab 2026-01-31 08:47:12 -08:00
Mitchell Hashimoto 377c6d7700 inspector: add AGENTS.md 2026-01-31 08:47:12 -08:00