Commit graph

338 commits

Author SHA1 Message Date
Tim Culverhouse
6d4c180e31 widgets(terminal): implement legacy key encoding 2024-06-11 14:00:37 -05:00
Tim Culverhouse
7954e8c9ba build: use upstream zg
My commit for replacement characters was merged
2024-06-11 14:00:02 -05:00
Tim Culverhouse
37b0d5c69d widgets(terminal): read full codepoints
Only read full codepoints. Some programs will split codepoints between
reads, which can mess with our parser (looking at you, btop)
2024-06-11 13:59:07 -05:00
Tim Culverhouse
eeb69f012a widgets(terminal): fix cursor showing 2024-06-11 10:28:07 -05:00
Tim Culverhouse
05f52ed4ee widgets(terminal): implement escapes, fix scrollDown 2024-06-11 10:27:18 -05:00
Tim Culverhouse
b688732f56 widgets(terminal): use buffered reader in parser
Use a buffered reader so we can inspect the read state. We need this to
know if we have a finished read on a printable byte
2024-06-10 15:07:04 -05:00
Tim Culverhouse
9f2af4d5ee widgets(terminal): implement even more csi sequences 2024-06-10 14:18:55 -05:00
Tim Culverhouse
3ab3edf6bf widgets(terminal): use zg fork 2024-06-10 14:18:32 -05:00
Tim Culverhouse
e4005253d2 widgets(terminal): fix eraseLeft 2024-06-10 14:18:32 -05:00
Tim Culverhouse
0cd57fe0f5 widgets(terminal): implement many more CSI seqs 2024-06-10 14:18:32 -05:00
Tim Culverhouse
24ad3bf3da widgets(terminal): handle erase in display 2024-06-10 14:18:32 -05:00
Tim Culverhouse
c14a100eed widgets(terminal): handle horizontal tabs 2024-06-10 14:18:32 -05:00
Tim Culverhouse
1c5ecae8f0 widgets(terminal): implement CNL 2024-06-10 14:18:32 -05:00
Tim Culverhouse
99ff37840d widgets(terminal): refactor CUD and CR 2024-06-10 14:18:32 -05:00
Tim Culverhouse
2f2e38eea5 widgets(terminal): set global_vts to null on last exit 2024-06-10 14:18:32 -05:00
Tim Culverhouse
044b099227 widgets(terminal): handle scrolling_region in CUU, CUD 2024-06-10 14:18:32 -05:00
Tim Culverhouse
11ae2e7b29 widgets(terminal): prevent deadlock in draw
The draw method could obtain a lock but never free it due to the logic
of the if statement.
2024-06-10 14:18:32 -05:00
Tim Culverhouse
3a382eacdb widgets(terminal): fix overflow in CUP 2024-06-10 14:18:32 -05:00
Tim Culverhouse
aa9e492b26 widgets(terminal): simplify cursorLeft logic 2024-06-10 14:18:32 -05:00
Tim Culverhouse
cc77c98d32 widgets(terminal): implement CSI D 2024-06-10 14:18:32 -05:00
Tim Culverhouse
21f2a48a80 examples: update terminal example 2024-06-10 14:18:32 -05:00
Tim Culverhouse
d991755fe2 widgets(terminal): handle exiting events 2024-06-10 14:18:32 -05:00
Tim Culverhouse
ef62de5541 widgets(terminal): dirty handling, cursor up, cursor shapes 2024-06-10 14:18:32 -05:00
Tim Culverhouse
c52bb30cdc widgets(terminal): remove comment about default 2024-06-10 14:18:32 -05:00
Tim Culverhouse
3765dbef2b widgets(terminal): handle (some) wrapping 2024-06-10 14:18:32 -05:00
Tim Culverhouse
7a7f4892d7 widgets(terminal): simple key encoding, alt screen 2024-06-10 14:18:32 -05:00
Tim Culverhouse
78508b76bd widgets(terminal): improve logging 2024-06-10 14:18:32 -05:00
Tim Culverhouse
d36be9048c widgets(terminal): allow for always joining thread
Write an EOT into the tty stream so after killing the process we
*always* are able to join the thread. Maybe this is the very reason the
EOT control byte exists?
2024-06-10 14:18:32 -05:00
Tim Culverhouse
f9d2fc7532 widgets(terminal): append last byte to escape seqs 2024-06-10 14:18:32 -05:00
Tim Culverhouse
987f939bd8 widgets(terminal): support cursor mode 2024-06-10 14:18:32 -05:00
Tim Culverhouse
36854123fe widgets(terminal): use types for c0 and csi 2024-06-10 14:18:32 -05:00
Tim Culverhouse
ecb2ea20e4 widgets(terminal): more c0 control impls 2024-06-10 14:18:32 -05:00
Tim Culverhouse
3ff47e6845 widgets(terminal): remove comment 2024-06-10 14:18:32 -05:00
Tim Culverhouse
f21559cc51 widgets(terminal): begin terminal widget 2024-06-10 14:18:32 -05:00
Tim Culverhouse
f76b573a0b parser: fix remaining decrpm test
This test was passing because it's not meant to find the event. However
it was still using the wrong input
2024-06-10 14:17:48 -05:00
Tim Culverhouse
9c5e8898cd parser: fix parsing of DECRPM and tests
We were looking for the wrong sequence
2024-06-10 14:00:51 -05:00
CJ van den Berg
a69cf3273d build: export some symbols for thespian.Loop 2024-06-10 04:43:43 -07:00
Tim Culverhouse
180b6df4f6 ci: update docs runner to zig v0.13.0 2024-06-09 20:31:02 -05:00
Tim Culverhouse
75ac36ca61 update zig version in readme 2024-06-09 06:54:45 -05:00
Rylee Alanza Lyman
b7946a3393 fix: update test runner to 0.13.0 2024-06-09 04:53:58 -07:00
Rylee Lyman
e2c19c3c8f fix: update to zig 0.13, broken test 2024-06-09 04:53:58 -07:00
Jari Vetoniemi
9bbcebb7bc ScrollView: do scroll bounds checking early
The ScrollView will panic if scroll.y is given a number that is outside
the content size.
2024-06-08 19:45:22 -07:00
Tim Culverhouse
5a438e54f1 update GapBuffer and gitignore
In preparation for zig 0.13.0
2024-06-07 06:38:45 -05:00
Tim Culverhouse
0cb81e30eb parser: fix handling of function keys with kitty encoding 2024-06-05 12:52:49 -05:00
Tim Culverhouse
3c29f18251 examples(text_input): use all kitty flags 2024-06-05 12:37:27 -05:00
Tim Culverhouse
91152eecdf parser: remove log line 2024-06-05 11:56:08 -05:00
Tim Culverhouse
43a714de0c parser: fix query responses for kitty kbd, decrpm 2024-06-05 11:49:03 -05:00
Tim Culverhouse
4d9a0cc8d4 ci: add test and fmt PR workflow 2024-06-05 09:41:41 -05:00
CJ van den Berg
d21940bdbd build: make most dependencies optional 2024-06-05 07:31:46 -07:00
Tim Culverhouse
b2ffc953dd Release version 0.2.0 2024-06-05 08:53:15 -05:00