neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit ee143aaf65a0e662c42c636aa4a959682858b3e7
parent 8a7c9c971f930e043101ce2b41b7f3f75529162c
Author: phanium <91544758+phanen@users.noreply.github.com>
Date:   Mon, 31 Mar 2025 05:08:01 +0800

fix(terminal): emit Termrequest for all OSC sequences #33181

Problem: osc 0/1/2/52 didn't emit TermRequest.

Solution: emit `TermRequest` for all recognized osc.
Diffstat:
Msrc/nvim/vterm/state.c | 18++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/nvim/vterm/state.c b/src/nvim/vterm/state.c @@ -1948,28 +1948,26 @@ static int on_osc(int command, VTermStringFragment frag, void *user) case 0: settermprop_string(state, VTERM_PROP_ICONNAME, frag); settermprop_string(state, VTERM_PROP_TITLE, frag); - return 1; + break; case 1: settermprop_string(state, VTERM_PROP_ICONNAME, frag); - return 1; + break; case 2: settermprop_string(state, VTERM_PROP_TITLE, frag); - return 1; + break; case 52: if (state->selection.callbacks) { osc_selection(state, frag); } + break; + } - return 1; - - default: - if (state->fallbacks && state->fallbacks->osc) { - if ((*state->fallbacks->osc)(command, frag, state->fbdata)) { - return 1; - } + if (state->fallbacks && state->fallbacks->osc) { + if ((*state->fallbacks->osc)(command, frag, state->fbdata)) { + return 1; } }