Commit Graph

29 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
dc2cca6490 inspector: renderer panel 2026-01-31 09:06:07 -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
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
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