From 4b8980949cd47f8206b2fbc266dfeb0920fd1191 Mon Sep 17 00:00:00 2001 From: skewb1k Date: Tue, 18 Nov 2025 04:49:14 +0300 Subject: [PATCH] fix(lsp): set concealcursor='' in LSP floating windows #36596 Problem: Users often jump and navigate through LSP windows to yank text. Concealed markdown can make navigation through hyperlinks and code blocks more difficult. Solution: Change 'concealcursor' from 'n' to '' to preserve clean display while improving navigation and selection of the LSP response. Closes #36537 --- runtime/lua/vim/lsp/util.lua | 2 +- test/functional/plugin/lsp/utils_spec.lua | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua index 4bbd95e0d4..a0ac87afec 100644 --- a/runtime/lua/vim/lsp/util.lua +++ b/runtime/lua/vim/lsp/util.lua @@ -1769,7 +1769,7 @@ function M.open_floating_preview(contents, syntax, opts) if do_stylize then vim.wo[floating_winnr].conceallevel = 2 - vim.wo[floating_winnr].concealcursor = 'n' + vim.wo[floating_winnr].concealcursor = '' vim.bo[floating_bufnr].filetype = 'markdown' vim.treesitter.start(floating_bufnr) if not opts.height then diff --git a/test/functional/plugin/lsp/utils_spec.lua b/test/functional/plugin/lsp/utils_spec.lua index 6161529f5e..eb76470b6d 100644 --- a/test/functional/plugin/lsp/utils_spec.lua +++ b/test/functional/plugin/lsp/utils_spec.lua @@ -367,7 +367,7 @@ describe('vim.lsp.util', function() screen:expect([[ | ┌─────────┐{1: }| - │{100:^local}{101: }{102:foo}│{1: }| + │{101:^```}{4: }│{1: }| └─────────┘{1: }| {1:~ }|*9 | @@ -401,8 +401,8 @@ describe('vim.lsp.util', function() screen:expect([[ | ┌─────────┐{1: }| - │{4:foo }│{1: }| - │{100:^local}{101: }{102:bar}│{1: }| + │{100:local}{101: }{102:bar}│{1: }| + │{101:^```}{4: }│{1: }| └─────────┘{1: }| {1:~ }|*8 |