diff options
| author | Kyle <50718101+kylesower@users.noreply.github.com> | 2025-12-29 16:30:23 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-29 16:30:23 -0600 |
| commit | 03377b95523324a2a1657435f12c13a493ee5360 (patch) | |
| tree | 73978155709683054a2534ae1bf2d18c9751be0e /runtime/lua/vim/_core/stringbuffer.lua | |
| parent | ddd6ac508360111fb04991916432e5baac440213 (diff) | |
feat(terminal): include sequence terminator in TermRequest event (#37152)
Problem:
Terminals should respond with the terminator (either BEL or ST) used in
the query so that clients can reliably parse the responses. The
`TermRequest` autocmd used to handle background color requests in the
terminal does not have access to the original sequence terminator, so it
always uses BEL. #37018
Solution:
Update vterm parsing to include the terminator type, then forward this
data into the emitted `TermRequest` events for OSC/DCS/APC sequences.
Update the foreground/background `TermRequest` callback to use the same
terminator as the original request.
Details:
I didn't add the terminator to the `TermResponse` event. However, I
assume the `TermResponse` event doesn't care about the terminator
because the sequence is already parsed. I also didn't update any of the
functions in `src/nvim/vterm/state.c` that write out responses. It
looked like those all pretty much used ST, and it would be a much larger
set of changes. In that same file, there's also logic for 8 bit ST
sequences, but from what I can tell, 8 bit doesn't really work (see `:h
xterm-8bit`), so I didn't use the 8 bit ST at all.
Diffstat (limited to 'runtime/lua/vim/_core/stringbuffer.lua')
0 files changed, 0 insertions, 0 deletions
