diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-10-04 21:31:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-04 21:31:28 +0800 |
commit | 86c5c8724bd85154c4e94474d1d9a0b01e296028 (patch) | |
tree | 108705dd183695dc07c5dd0f8b9ea460f2f255b2 | |
parent | 305012ea073267492e1d626a304c6993b0dfa145 (diff) | |
download | rneovim-86c5c8724bd85154c4e94474d1d9a0b01e296028.tar.gz rneovim-86c5c8724bd85154c4e94474d1d9a0b01e296028.tar.bz2 rneovim-86c5c8724bd85154c4e94474d1d9a0b01e296028.zip |
fix(mouse): indicate X1 and X2 button clicks on statusline (#30655)
-rw-r--r-- | src/nvim/mouse.c | 6 | ||||
-rw-r--r-- | test/functional/ui/statusline_spec.lua | 16 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index 5e2f2f0320..884bc88d73 100644 --- 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 index 3087a0cde1..937e709d66 100644 --- 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() |