aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphanium <91544758+phanen@users.noreply.github.com>2025-03-31 05:08:01 +0800
committerGitHub <noreply@github.com>2025-03-30 21:08:01 +0000
commitee143aaf65a0e662c42c636aa4a959682858b3e7 (patch)
tree9d247efe6fa1963959fb3c8cf0ab8a3a3df9ade1
parent8a7c9c971f930e043101ce2b41b7f3f75529162c (diff)
downloadrneovim-ee143aaf65a0e662c42c636aa4a959682858b3e7.tar.gz
rneovim-ee143aaf65a0e662c42c636aa4a959682858b3e7.tar.bz2
rneovim-ee143aaf65a0e662c42c636aa4a959682858b3e7.zip
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.
-rw-r--r--src/nvim/vterm/state.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/nvim/vterm/state.c b/src/nvim/vterm/state.c
index 0e43107347..3b7b5e2997 100644
--- 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;
}
}