fix(lsp): handle NUL bytes in popup text (#25612)

Fix #25610
This commit is contained in:
zeertzjq
2023-10-12 15:39:39 +08:00
committed by GitHub
parent d2d38858d1
commit 840e1864c2
2 changed files with 14 additions and 2 deletions

View File

@@ -1647,7 +1647,7 @@ function M._make_floating_popup_size(contents, opts)
width = 0
for i, line in ipairs(contents) do
-- TODO(ashkan) use nvim_strdisplaywidth if/when that is introduced.
line_widths[i] = vim.fn.strdisplaywidth(line)
line_widths[i] = vim.fn.strdisplaywidth(line:gsub('%z', '\n'))
width = math.max(line_widths[i], width)
end
end
@@ -1676,7 +1676,7 @@ function M._make_floating_popup_size(contents, opts)
height = 0
if vim.tbl_isempty(line_widths) then
for _, line in ipairs(contents) do
local line_width = vim.fn.strdisplaywidth(line)
local line_width = vim.fn.strdisplaywidth(line:gsub('%z', '\n'))
height = height + math.ceil(line_width / wrap_at)
end
else