aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/mouse.c6
-rw-r--r--test/functional/ui/statusline_spec.lua16
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()