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:
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;
}
}