fix(mouse): mouseclick after conceal_lines is miscalculated #33451

Problem:  Computed buffer line for mouse position does not take into
          account concealed lines on the reached row.

Solution: Adjust for concealed lines at the end of the loop computing
          the buffer position.
(cherry picked from commit 2f8fb4f28a)
This commit is contained in:
luukvbaal
2025-04-13 23:30:24 +02:00
committed by github-actions[bot]
parent 8aa49a8e9b
commit 526444c4ff
2 changed files with 15 additions and 0 deletions

View File

@@ -2082,4 +2082,12 @@ describe('ui/mouse/input', function()
feed('<Down><Down><CR>')
eq('bar', api.nvim_get_var('menustr'))
end)
it('below a concealed line #33450', function()
api.nvim_set_option_value('conceallevel', 2, {})
api.nvim_buf_set_extmark(0, api.nvim_create_namespace(''), 1, 0, { conceal_lines = '' })
api.nvim_input_mouse('right', 'press', '', 0, 1, 0)
api.nvim_input_mouse('right', 'release', '', 0, 1, 0)
eq(3, fn.line('.'))
end)
end)