e34414f6d6
Test for permanent responses for capabilities ( #862 )
2025-04-21 03:09:59 +00:00
8e1778e2db
Some terminal docs, naming changes, and shuffling ( #839 )
2025-03-28 16:19:22 +00:00
cd8f78e70e
Detect Kitty text sizing protocol ( #835 )
2025-03-26 11:25:23 -04: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
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
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
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
a9441cc34f
Eliminate terminal event package ( #795 )
2025-03-15 03:57:21 +00: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
423ba21f8c
Push terminal feature detection into terminal library ( #784 )
...
This starts to provide a high-level terminal abstraction. It's not perfect, but it's good enough to start with.
2025-03-13 04:34:30 +00:00
3c1458fbcb
Do not repeat APIs from Tty ( #758 )
...
These are lower-level, so you can go down to get them.
2025-02-28 20:26:56 +00:00
2a352c26f8
Post-split rename (part 2)
2025-02-28 10:10:50 -05:00
8b8f02d0a0
Bring back TerminalParser ( #756 )
...
This is a better design, and it will allow TerminalReader to ascend into a higher-level abstraction that is more useful.
2025-02-28 14:58:07 +00:00
903e9d15e4
Expose underlying Tty instance from TerminalReader ( #754 )
2025-02-27 21:07:32 +00:00
4461277809
Eliminate useless Tty type ( #728 )
...
I want the name for renaming PlatformInput.
2025-02-23 16:53:23 +00:00
915d5ce41a
Move raw mode enabling to platform input ( #723 )
2025-02-23 06:10:14 +00:00
1f78d959ce
Query for Kitty underline support ( #715 )
2025-02-20 15:29:29 +00:00
82bd8277e8
Add more capability detection to startup ( #702 )
...
Kitty notification and pointer shape.
2025-02-18 05:29:37 +00:00
cc31d49df5
Switch to our own terminal library ( #695 )
...
* Switch to our own terminal library
This handles raw mode, VT parsing, and other system integration.
* Docs needs native libraries now
* API dump
* More test hacks
* Formatting
2025-02-14 14:44:52 -05:00
968d2fe4c5
Parse terminal ID(?) from primary device attributes ( #690 )
...
I have no idea if this is called an "ID", but the docs omit a name. This is needed to determine during capability querying whether we can issue more complex queries or at the dumbest of dumb terminals (read: Terminal.app on macOS).
2025-02-12 05:51:56 +00:00
17c2369efd
Add API for synchronosly fetching the current terminal size ( #688 )
2025-02-10 10:32:36 -05:00
5ece0808b3
Parse tertiary DA for kicks ( #684 )
2025-02-07 12:04:19 -05:00
d32e42be0e
Add platform resize events ( #683 )
2025-02-06 15:57:53 -05:00
fe34cd2f29
Rewrite native input handling
...
This will allow out-of-band events to come in, such as a resize from SIGWINCH, or focus and resize from Windows' console events in a future change.
2025-01-24 05:25:38 +00:00
aaf44d68b0
Parse Kitty pointer shape query events ( #637 )
2025-01-08 04:41:08 +00:00
815a79eadd
Output bytes with parsed events ( #570 )
2024-12-06 03:27:23 +00:00
7c0c660647
XTerm size event parsing ( #569 )
2024-12-05 04:57:59 +00:00
5c851537c0
Parse XTerm mouse ( #561 )
2024-12-04 00:49:37 -05:00
313a770845
Flesh out Kitty parsing even more ( #559 )
2024-12-03 05:03:12 +00:00
a2b8cd4744
Parse Kitty keyboard event type ( #556 )
2024-11-29 06:24:55 +00:00
1930f5b6c1
Start parsing Kitty keyboard events ( #555 )
...
Just enough to capture Ctrl+C in this mode for now.
2024-11-29 05:26:51 +00:00
0daaffcb7f
Make ResizeEvent more robust ( #551 )
...
Ignore subparameters and validate mode number.
2024-11-27 15:16:39 -05:00
fbdea9c215
Start parsing OSC color updates ( #549 )
2024-11-27 15:39:18 +00:00
7dcd087b74
Parse operating status reports ( #544 )
2024-11-22 21:51:09 +00:00
c7718be9b6
Parse DEC mode reports ( #542 )
...
Also reduce handling of error cases. Since the bytes are included, the codepath the parser takes will be clear upon debugging. No need to optimize for cases which should never happen.
2024-11-22 15:47:38 +00:00
be19d649e6
Parse Kitty keyboard query responses ( #541 )
2024-11-22 06:03:51 +00:00
801dbe185d
Use dedicated event for terminal version ( #540 )
...
The xterm spec says this is a 'DSR sequence' which is why the DSR event was used previously, but the format is completely different than the other DSR-based responses.
2024-11-22 04:59:32 +00:00
2aa8682c00
Parse system theme events ( #539 )
2024-11-22 04:28:49 +00:00
b1af118fcc
Primary device attributes event test ( #538 )
...
And other small fixes from last night.
2024-11-21 15:38:58 +00:00
baef906adb
Start testing the terminal parser ( #537 )
...
Fix a bug in the "CSI ... ~" logic which defaulted to a fallback index that included the tilde, rather than the index of the tilde itself.
2024-11-21 03:44:27 +00:00
762020cd72
Start parsing terminal events ( #534 )
2024-11-20 18:13:15 -05:00
61497a5cb3
Make Tty functions static on the JVM ( #527 )
2024-11-15 04:02:38 +00:00
90ca74d617
Support read with a millisecond timeout ( #500 )
2024-10-19 03:55:00 +00:00
d254d94c06
Add stdin reader to Tty class ( #472 )
2024-09-12 00:41:14 -04:00
b7516bc630
Stuff ( #466 )
...
- Klib API dumps
- UInt comparison
- Publishing gets Dokka automatically
2024-09-07 00:00:20 -04:00
89e9f8befe
Make raw mode entry more robust ( #465 )
2024-09-06 23:18:27 -04:00
fbd6b8f0b4
Start a terminal project for low-level utilities ( #457 )
...
Up first is a mechanism to enable raw mode.
2024-08-30 10:54:56 -04:00