neovim

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

commit 86c5c8724bd85154c4e94474d1d9a0b01e296028
parent 305012ea073267492e1d626a304c6993b0dfa145
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Fri,  4 Oct 2024 21:31:28 +0800

fix(mouse): indicate X1 and X2 button clicks on statusline (#30655)


Diffstat:
Msrc/nvim/mouse.c | 6+++++-
Mtest/functional/ui/statusline_spec.lua | 16++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c @@ -194,7 +194,11 @@ static void call_click_def_func(StlClickDefinition *click_defs, int col, int whi ? "r" : (which_button == MOUSE_MIDDLE ? "m" - : "?"))) + : (which_button == MOUSE_X1 + ? "x1" + : (which_button == MOUSE_X2 + ? "x2" + : "?"))))) }, }, { diff --git a/test/functional/ui/statusline_spec.lua b/test/functional/ui/statusline_spec.lua @@ -63,6 +63,22 @@ for _, model in ipairs(mousemodels) do eq('0 3 r', eval('g:testvar')) api.nvim_input_mouse('right', 'press', '', 0, 6, 28) eq('0 4 r', eval('g:testvar')) + api.nvim_input_mouse('x1', 'press', '', 0, 6, 17) + eq('0 1 x1', eval('g:testvar')) + api.nvim_input_mouse('x1', 'press', '', 0, 6, 17) + eq('0 2 x1', eval('g:testvar')) + api.nvim_input_mouse('x1', 'press', '', 0, 6, 17) + eq('0 3 x1', eval('g:testvar')) + api.nvim_input_mouse('x1', 'press', '', 0, 6, 17) + eq('0 4 x1', eval('g:testvar')) + api.nvim_input_mouse('x2', 'press', '', 0, 6, 28) + eq('0 1 x2', eval('g:testvar')) + api.nvim_input_mouse('x2', 'press', '', 0, 6, 28) + eq('0 2 x2', eval('g:testvar')) + api.nvim_input_mouse('x2', 'press', '', 0, 6, 28) + eq('0 3 x2', eval('g:testvar')) + api.nvim_input_mouse('x2', 'press', '', 0, 6, 28) + eq('0 4 x2', eval('g:testvar')) end) it('works with control characters and highlight', function()