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