bugfix: virtual marker out of range for diag

pull/44/head
ray-x 3 years ago
parent 747db16f59
commit 96e9772d5b

@ -48,6 +48,9 @@ local function error_marker(result, client_id)
local wwidth = vim.fn.winwidth(winid)
local wheight = vim.fn.winheight(winid)
if total_num <= wheight then
first_line = 0
end
local pos = {}
-- pos of virtual text
for _, diag in pairs(result.diagnostics) do
@ -76,7 +79,11 @@ local function error_marker(result, client_id)
if s.severity > 1 then
hl = 'WarningMsg'
end
vim.api.nvim_buf_set_extmark(bufnr, _NG_VT_NS, s.line + first_line, -1,
local l = s.line + first_line
if l > total_num then
l = total_num
end
vim.api.nvim_buf_set_extmark(bufnr, _NG_VT_NS, l, -1,
{virt_text = {{s.sign, hl}}, virt_text_pos = 'right_align'})
end
end

Loading…
Cancel
Save