fix(lsp): show title when global winborder is set (#35181)

Problem: make_floating_popup_options only shows when opts.border is explicitly set, ignoring global winborder setting

Solution: check both opts.border and vim.o.winborder when determining whether to show title
(cherry picked from commit 5b1b46ea5a)
This commit is contained in:
glepnir
2025-08-06 21:25:55 +08:00
committed by github-actions[bot]
parent 09b0003d38
commit 8f2d6f7ce2
2 changed files with 9 additions and 1 deletions

View File

@@ -861,7 +861,7 @@ function M.make_floating_popup_options(width, height, opts)
col = 1
end
local title = (opts.border and opts.title) and opts.title or nil
local title = ((opts.border or vim.o.winborder ~= '') and opts.title) and opts.title or nil
local title_pos --- @type 'left'|'center'|'right'?
if title then

View File

@@ -267,6 +267,14 @@ describe('vim.lsp.util', function()
eq(56, opts.height)
end)
it('title with winborder option #35179', function()
local opts = exec_lua(function()
vim.o.winborder = 'single'
return vim.lsp.util.make_floating_popup_options(100, 100, { title = 'Title' })
end)
eq('Title', opts.title)
end)
end)
end)