Tim Culverhouse
0c91840b32
widgets(terminal): implement OSC 7 for pwd reporting
2024-06-19 09:23:11 -05:00
Tim Culverhouse
7005bb237c
widgets(terminal): add initial_working_directory option
2024-06-19 07:11:02 -05:00
Tim Culverhouse
6043f0569a
widgets(terminal): remove error logs
...
And use a buffered writer in the example
2024-06-18 18:41:48 -05:00
CJ van den Berg
3a0392c282
tty(windows): fix mouse wheel direction calculation
2024-06-13 05:59:11 -07:00
Tim Culverhouse
36696e8785
tty(windows): parse mouse events
2024-06-13 07:16:46 -05:00
CJ van den Berg
790dbaae24
build: allow building on freebsd
2024-06-13 04:17:45 -07:00
Tim Culverhouse
f230f0c30a
widgets(terminal): send a redraw event
2024-06-12 19:29:19 -05:00
Tim Culverhouse
8f4ca5b830
tty(windows): enable_extended_flags
...
Note: we still need to parse the events.
2024-06-12 11:15:16 -05:00
Tim Culverhouse
cea5798db9
widgets(terminal): ensure only one sigchild handler installed
2024-06-12 06:36:07 -05:00
Tim Culverhouse
46e7fd8fc6
widgets: remove neovim widget
...
The neovim widget was great. But we have a full virtual terminal widget
now, which doesn't bring in extra dependencies.
2024-06-11 20:35:10 -05:00
Tim Culverhouse
6d4c180e31
widgets(terminal): implement legacy key encoding
2024-06-11 14:00:37 -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
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
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
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
0cb81e30eb
parser: fix handling of function keys with kitty encoding
2024-06-05 12:52:49 -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
CJ van den Berg
d21940bdbd
build: make most dependencies optional
2024-06-05 07:31:46 -07:00