diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-08-04 09:34:13 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-04 09:34:13 +0800 |
commit | 0a7fda6fa0067ee61fee60d123967c3f14431007 (patch) | |
tree | 098fce25aa220fafc4976e7fe8a8eb2a42697529 | |
parent | c4f775fa57ae4d6fdf4be962edb0a1d0c82eaf72 (diff) | |
download | rneovim-0a7fda6fa0067ee61fee60d123967c3f14431007.tar.gz rneovim-0a7fda6fa0067ee61fee60d123967c3f14431007.tar.bz2 rneovim-0a7fda6fa0067ee61fee60d123967c3f14431007.zip |
fix(terminal): include modifiers when forwarding mouse (#24549)
-rw-r--r-- | src/nvim/terminal.c | 4 | ||||
-rw-r--r-- | test/functional/terminal/buffer_spec.lua | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index 56f364bf0a..3315936b6a 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -1444,7 +1444,9 @@ static bool send_mouse_event(Terminal *term, int c) return false; } - mouse_action(term, button, row, col - offset, pressed, 0); + VTermModifier mod = VTERM_MOD_NONE; + convert_modifiers(c, &mod); + mouse_action(term, button, row, col - offset, pressed, mod); return false; } diff --git a/test/functional/terminal/buffer_spec.lua b/test/functional/terminal/buffer_spec.lua index 888d123b17..ce47e4715c 100644 --- a/test/functional/terminal/buffer_spec.lua +++ b/test/functional/terminal/buffer_spec.lua @@ -464,6 +464,10 @@ describe('terminal input', function() '<S-Up>', '<C-Up>', '<Up>', '<S-Down>', '<C-Down>', '<Down>', '<S-Left>', '<C-Left>', '<Left>', '<S-Right>', '<C-Right>', '<Right>', '<S-Home>', '<C-Home>', '<Home>', '<S-End>', '<C-End>', '<End>', + '<C-LeftMouse>', '<C-LeftRelease>', '<2-LeftMouse>', '<2-LeftRelease>', + '<S-RightMouse>', '<S-RightRelease>', '<2-RightMouse>', '<2-RightRelease>', + '<M-MiddleMouse>', '<M-MiddleRelease>', '<2-MiddleMouse>', '<2-MiddleRelease>', + '<S-ScrollWheelUp>', '<S-ScrollWheelDown>', '<ScrollWheelUp>', '<ScrollWheelDown>', }) do feed('<CR><C-V>' .. key) retry(nil, nil, function() eq(key, meths.get_current_line()) end) |