628 Commits

Author SHA1 Message Date
Mitchell Hashimoto
89dfe85740 terminal/kitty-gfx: the data is base64 encoded! 2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
c96fa2e85f terminal/kitty-gfx: fix broken tests 2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
59dcb85ad4 terminal/kitty-gfx: loading non-chunked image takes data slice ownership 2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
03e0ba9081 terminal/kitty-gfx: zlib decompression for data validation 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
6ed3fcbfb0 terminal/kitty-gfx: fix big chunked load memory leak 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
bbcb2f96c8 terminal/kitty-gfx: huge progress on chunked transfers, lots of issues 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
e84f82bd97 terminal/kitty-gfx: assign an internal image id 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
b3a3ca1182 terminal/kitty-gfx: placement now works properly 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
7bec2820a7 terminal/kitty-gfx: start working on placements 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
80c7f09a36 terminal/kitty-gfx: start terminal state, can load and add images 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
f82899bd58 terminal/kitty-gfx: better memory ownership semantics around func calls 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
1b7fbd00d1 terminal/kitty-gfx: add some validation from Kitty 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
eeddda57ff terminal/kitty-gfx: handle quiet settings for response 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
c7658df978 terminal/kitty-gfx: support "query", loading images, tests 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
824d586afc terminal: generalized APC handler 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
b7f819dc0b terminal/kitty-gfx: clean up a lot more memory management 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
b5bd35f538 terminal/kitty-gfx: optimize some of our kv parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
a07cfbb1e0 terminal: kitty parser get a little clever, keys are always a char 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
bffbc626fc terminal: more comments for kitty command parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
91ea586b1e terminal: tests for kitty command parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
ac12d2eb97 terminal: all commands parsed, need tests 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
f4a40168da terminal: a lot more kitty command parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
94040c05f0 terminal: initial kitty graphics command parsing 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
b9db629662 terminal: kitty graphics command/control structs 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
fc7b3689fc terminal: move kitty keyboard protocol to its own file 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
6e061fb344 termio/exec: process APC callbacks 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
29e3e79b94 terminal: parse APC strings 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
e7ab16f0e1 terminal: CSI < u defaults param to "1" if not set (pop kitty keyboard) 2023-08-20 22:02:12 -07:00
Mitchell Hashimoto
8435d45bc9 terminal: proper reverseIndex behavior with scroll region set
Fixes #298

This fix is quite simple and the code should be more or less obvious:
we weren't handling scroll regions properly for the reverse index (RI)
escape sequence.
2023-08-18 08:32:13 -07:00
Mitchell Hashimoto
c8a07abdf3 terminal: ignore SOH/STX, bash sends this for some reason 2023-08-17 13:40:11 -07:00
Mitchell Hashimoto
af4ede40f1 terminal: implement CSI = u for setting kitty keyboard flags 2023-08-16 17:31:05 -07:00
Mitchell Hashimoto
a9d7e0eb7f terminal: parse kitty query, push, pop keyboard flags 2023-08-16 17:31:05 -07:00
Mitchell Hashimoto
c80b1bed75 terminal: add Kitty key flags, stack 2023-08-16 17:31:04 -07:00
Mitchell Hashimoto
8ca8da38d8 Merge pull request #291 from mitchellh/grapheme-sel
Fix multiple bugs related to selecting, copying grapheme clusters
2023-08-15 15:57:26 -07:00
Mitchell Hashimoto
9e27dcdec9 font: shaper doesn't split run on selection if selection splits grapheme 2023-08-15 15:32:10 -07:00
Mitchell Hashimoto
c8d1745791 terminal: selection string must include grapheme data 2023-08-15 14:55:43 -07:00
Mitchell Hashimoto
67fb8d9bd4 terminal: do not crash if selecting a wide spacer on a soft-wrapped line 2023-08-15 14:38:13 -07:00
Mitchell Hashimoto
6a4b25714a terminal: add a test to verify our grapheme state is what we expect 2023-08-15 13:55:35 -07:00
Mitchell Hashimoto
06f82ad713 terminal: parse and handle save/restore mode (CSI ? s, CSI ? r) 2023-08-15 11:43:07 -07:00
Mitchell Hashimoto
951aa00c63 terminal: move to new modes struct 2023-08-15 11:30:33 -07:00
Mitchell Hashimoto
716c343f07 terminal: ModeState can save/restore one set of modes 2023-08-15 08:43:25 -07:00
Mitchell Hashimoto
e467a48df0 terminal: working on new modes storage abstraction 2023-08-15 08:43:24 -07:00
Mitchell Hashimoto
d27bc1f0fe termio: send VT220 device attributes on request, add secondary 2023-08-15 08:21:48 -07:00
Mitchell Hashimoto
a2310afa4e terminal: ignore ESC \ which enables ST mode since we're always in it 2023-08-13 15:52:38 -07:00
Mitchell Hashimoto
cea6f5f51d terminal: parse mode 1039 2023-08-13 15:15:11 -07:00
Mitchell Hashimoto
4a384aa272 parse and respect mode 1036 2023-08-13 15:12:13 -07:00
Mitchell Hashimoto
77df7a0e7f terminal: support disable modify key format sequence ESC[>n 2023-08-13 14:55:32 -07:00
Mitchell Hashimoto
66aa1d9be3 terminal: parse and handle set modify key format (ESC[>{a};{b}m) 2023-08-13 14:55:32 -07:00
Mitchell Hashimoto
d94474463b terminal: handle set application keypad mode (both ESC and modes) 2023-08-13 14:55:32 -07:00
Mitchell Hashimoto
63fa34ef6b terminal: avoid underflow on resize, tests added 2023-08-12 11:30:07 -07:00