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