diff options
author | phanium <91544758+phanen@users.noreply.github.com> | 2025-03-31 05:08:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-30 21:08:01 +0000 |
commit | ee143aaf65a0e662c42c636aa4a959682858b3e7 (patch) | |
tree | 9d247efe6fa1963959fb3c8cf0ab8a3a3df9ade1 | |
parent | 8a7c9c971f930e043101ce2b41b7f3f75529162c (diff) | |
download | rneovim-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.c | 18 |
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; } } |