From 81ea44fa6aca27e6871d5baa158e2a5bcfa41981 Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Tue, 4 Mar 2025 19:45:21 +0100 Subject: fix(display): adjust winline info for concealed lines below last line (#32708) Problem: Last line in a window does not store correct `wl_lastlnum` if lines below it are concealed (resulting in e.g. incorrect cursor row). Solution: Increment `wl_lastlnum` while it points to a line above a concealed line. --- test/functional/plugin/lsp/utils_spec.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test/functional/plugin') diff --git a/test/functional/plugin/lsp/utils_spec.lua b/test/functional/plugin/lsp/utils_spec.lua index 75cc69bed4..683e2a7641 100644 --- a/test/functional/plugin/lsp/utils_spec.lua +++ b/test/functional/plugin/lsp/utils_spec.lua @@ -382,6 +382,24 @@ describe('vim.lsp.util', function() {1:~ }|*9 | ]]) + -- This tests the valid winline code path (why doesn't the above?). + exec_lua([[ + vim.cmd.only() + vim.lsp.util.open_floating_preview({ 'foo', '```lua', 'local bar', '```' }, 'markdown', { + border = 'single', + focus = false, + }) + ]]) + feed('wG') + screen:expect([[ + | + ┌─────────┐{1: }| + │{4:foo }│{1: }| + │{100:^local}{101: }{102:bar}│{1: }| + └─────────┘{1: }| + {1:~ }|*8 + | + ]]) end) it('open_floating_preview height does not exceed max_height', function() -- cgit