commit 288819c9cc8620fdb749721618bd43c479a9e500
parent d7dd6007167eac919205404bc4e556237118a7a7
Author: Famiu Haque <famiuhaque@protonmail.com>
Date: Wed, 18 May 2022 21:15:34 +0600
fix(ui): set correct position on mouse click when 'winbar' is enabled
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c
@@ -406,6 +406,9 @@ bool mouse_comp_pos(win_T *win, int *rowp, int *colp, linenr_T *lnump)
if (win->w_p_rl) {
col = win->w_width_inner - 1 - col;
}
+ if (win->w_winbar_height) {
+ row -= win->w_winbar_height;
+ }
lnum = win->w_topline;
diff --git a/test/functional/ui/winbar_spec.lua b/test/functional/ui/winbar_spec.lua
@@ -2,6 +2,9 @@ local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear = helpers.clear
local command = helpers.command
+local insert = helpers.insert
+local meths = helpers.meths
+local eq = helpers.eq
describe('winbar', function()
local screen
@@ -177,4 +180,18 @@ describe('winbar', function()
|
]])
end)
+ it('sets correct position on mouse click', function()
+ insert[[
+ line 1
+ line 2
+ line 3
+ line 4
+ line -42
+ line i
+ line sin(theta)
+ line 8
+ ]]
+ meths.input_mouse('left', 'press', '', 0, 5, 1)
+ eq({5, 1}, meths.win_get_cursor(0))
+ end)
end)