aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-05-18 19:55:01 +0200
committerGitHub <noreply@github.com>2022-05-18 19:55:01 +0200
commitb840b5b6a94411a456123306adca715683e16bba (patch)
tree4a6c07175cf5752e2c66341c257cef9d446a90fa
parent8a9ab88945cdabcbd23f23406353ec6110fefa83 (diff)
parent288819c9cc8620fdb749721618bd43c479a9e500 (diff)
downloadrneovim-b840b5b6a94411a456123306adca715683e16bba.tar.gz
rneovim-b840b5b6a94411a456123306adca715683e16bba.tar.bz2
rneovim-b840b5b6a94411a456123306adca715683e16bba.zip
Merge pull request #18624 from famiu/feat/ui/winbar
fix(ui): set correct position on mouse click when 'winbar' is enabled
-rw-r--r--src/nvim/mouse.c3
-rw-r--r--test/functional/ui/winbar_spec.lua17
2 files changed, 20 insertions, 0 deletions
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c
index 3a1cc6b557..ad17bfc8a9 100644
--- 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
index 6cf587d47b..abc6088801 100644
--- 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)