Tim Culverhouse
389ac3ef40
widgets(terminal): clean up accidentally included files
2024-06-11 14:07:01 -05:00
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