mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
fix(lsp): account for border height in max floating popup height (#25539)
This commit is contained in:
parent
6823fdb20b
commit
9abced6ad9
@ -1100,13 +1100,14 @@ function M.make_floating_popup_options(width, height, opts)
|
||||
anchor_below = lines_below > lines_above
|
||||
end
|
||||
|
||||
local border_height = get_border_size(opts).height
|
||||
if anchor_below then
|
||||
anchor = anchor .. 'N'
|
||||
height = math.min(lines_below, height)
|
||||
height = math.max(math.min(lines_below - border_height, height), 0)
|
||||
row = 1
|
||||
else
|
||||
anchor = anchor .. 'S'
|
||||
height = math.min(lines_above, height)
|
||||
height = math.max(math.min(lines_above - border_height, height), 0)
|
||||
row = 0
|
||||
end
|
||||
|
||||
|
@ -212,6 +212,14 @@ describe('vim.lsp.util', function()
|
||||
it('places window below for anchor_bias = "below"', function ()
|
||||
assert_anchor('below', 'N')
|
||||
end)
|
||||
|
||||
it('bordered window truncates dimensions correctly', function ()
|
||||
local opts = exec_lua([[
|
||||
return vim.lsp.util.make_floating_popup_options(100, 100, { border = 'single' })
|
||||
]])
|
||||
|
||||
eq(56, opts.height)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user