40 Commits

Author SHA1 Message Date
82d6edd77d Rename TestTty to TestTerminal, add some docs all over (#1013) 2025-10-05 00:04:06 -04:00
e1333f7a9d Support reading and writing stdin, stdout, and stderr (#1001) 2025-10-03 03:39:53 +00:00
0e9dbdd8af Detect Windows Terminal and ConEmu colors (#949) 2025-08-21 03:38:21 +00:00
8d688fa304 Add module-info files (#886) 2025-05-15 03:55:54 +00:00
e46de7ba78 Always enable in-band resize mode even if already set (#871)
This should cause the terminal to emit the current size.
2025-05-10 01:52:50 +00:00
af92d751bd Only bind one TestTty at a time (#873) 2025-04-30 03:18:39 +00:00
546920a2f7 Query theme separately from theme update mode (#870) 2025-04-28 16:16:17 +00:00
7cfeb39a6a Always enable focus mode even if already set (#869)
This may cause the terminal to emit the current value.
2025-04-26 03:51:42 +00:00
0494e5fa79 Remove unused Turbine (#868) 2025-04-26 02:51:18 +00:00
e369697b9c Test focus state change logic (#867) 2025-04-25 20:28:28 +00:00
e34414f6d6 Test for permanent responses for capabilities (#862) 2025-04-21 03:09:59 +00:00
7b1afd9698 Rename test platform detection filename (#861) 2025-04-21 02:10:04 +00:00
95c7adb4d9 More TTY terminal capability testing (#858) 2025-04-13 04:32:55 +00:00
9742e30fd5 Test with ASCII strings where possible (#851) 2025-04-10 03:42:39 +00:00
cbc577494c Create TTY terminal test harness and start testing (#850) 2025-04-09 14:48:46 +00:00
4eac62b61a Correctly specify offset and count for native write (#841) 2025-03-29 05:08:22 +00:00
8e1778e2db Some terminal docs, naming changes, and shuffling (#839) 2025-03-28 16:19:22 +00:00
c838702c27 Remove unneccessary curlies (#836) 2025-03-26 16:11:06 +00:00
cd8f78e70e Detect Kitty text sizing protocol (#835) 2025-03-26 11:25:23 -04:00
811af18682 Cursor position with question mark (#830) 2025-03-25 18:32:29 +00:00
7e10e56d87 Cursor position event (#829) 2025-03-25 17:44:32 +00:00
4b40ca742a Expose terminal name (#828) 2025-03-25 16:22:46 +00:00
3f2c6107e7 Parse secondary attributes event (#827) 2025-03-25 15:59:41 +00:00
fa32d71365 Remove runTest from TTY Terminal tests (#820) 2025-03-22 04:26:07 +00:00
127209fbc4 Allow debugging bootstrap of any program via env var (#818) 2025-03-22 04:23:18 +00:00
5829d4a0d5 Interrupt immediately on TTY Terminal close (#817)
Otherwise this happens after resources are closed and freed leading to a segfault.
2025-03-22 04:14:23 +00:00
7b2575f5be Fix Kitty graphics detection (#816) 2025-03-22 04:06:29 +00:00
83a7d0c2f3 Create Terminal.Theme, and use Terminal.Size more (#815)
The ternary theme more accurately models our knowledge, and the size propagates both cell and pixel values.
2025-03-21 04:10:01 +00:00
cbcdc3487a Always go raw, but add a policy to skip TTY binding (#814) 2025-03-20 23:42:16 -04:00
80e34205ea Go raw on all platforms for parser tests (#810) 2025-03-20 00:33:12 -04:00
52916d2f4a Rewrite POSIX Tty to actually use the TTY (#805)
And a PTY for testing. Windows still uses stdin/stdout for now.
2025-03-19 20:27:29 +00:00
2750f67b55 Only do size fallback if input is a TTY (#801) 2025-03-16 04:09:17 +00:00
91fa7b568f Throw dedicated EofException for EOF (#799) 2025-03-15 23:43:30 -04:00
01f5a6132e Expose all events on Termainl (#798)
Do not use a channel to communicate between the parser and the state machine. Process directly, and then forward all events to the channel.
2025-03-16 03:19:27 +00:00
7d5f4db29c Return DebugEvent directly from nextDebug (#797) 2025-03-15 04:27:19 +00:00
d71f455e18 Rename TerminalParser to EventParser (#796) 2025-03-15 04:14:21 +00:00
a9441cc34f Eliminate terminal event package (#795) 2025-03-15 03:57:21 +00:00
3736dd4e71 Make copyBuffer public API (#791)
It could be useful, and avoids the whole TestApi nonsense.
2025-03-13 23:55:47 -04:00
ad9a59223f Add Tty.reset API (#789)
Allows reusing the bound Tty after useAsTerminal, or to just skip freeing resources if the process is exiting.
2025-03-13 15:42:37 -04:00
d77614b518 Split Terminal API from TTY Terminal implementation (#785)
This fixes the public API problem in the runtime.

Expose a TestTerminal from the testing library as well.
2025-03-13 15:30:10 +00:00