neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim
Log | Files | Refs

commit c9e8394d3e7cba0364fd4d0cc6019b50fd6c975e
parent 4cc4fc34e76ce67d4deb9cc25820ea1c321f0034
Author: Tomas Nemec <owl@gtms.dev>
Date:   Thu,  1 Feb 2024 06:48:50 +0100

update

Diffstat:
Mplugin/diagflow.lua | 35++++++++++++++++++++++++++---------
1 file changed, 26 insertions(+), 9 deletions(-)

diff --git a/plugin/diagflow.lua b/plugin/diagflow.lua @@ -99,22 +99,39 @@ local function render(diagnostics, bufnr) return end + local cursor_lnum = vim.fn.getcurpos(winnr)[2] - vim.fn.getwininfo(winnr)[1].topline local padding = get_padding(bufnr, winnr) local line_offset = vim.fn.getwininfo(winnr)[1].topline - 1 + padding + local skipped_some = false for _, diagnostic in ipairs(diagnostics) do - local message_lines = create_boxed_text(vim.split(diagnostic.message, '\n')) + local message_lines = vim.split(diagnostic.message, '\n') + -- local message_lines = create_boxed_text(vim.split(diagnostic.message, '\n')) for _, message in ipairs(message_lines) do local hl_group = severity_hl_map[diagnostic.severity] - vim.api.nvim_buf_set_extmark(bufnr, ns, 0 + line_offset, 0, { - virt_text = { { message, hl_group } }, - virt_text_pos = 'right_align', - virt_text_hide = true, - strict = false, - priority = vim.highlight.priorities.user, - }) - line_offset = line_offset + 1 + if line_offset < cursor_lnum then + vim.api.nvim_buf_set_extmark(bufnr, ns, line_offset, 0, { + virt_text = { { message, hl_group } }, + virt_text_pos = 'right_align', + virt_text_hide = true, + strict = false, + priority = vim.highlight.priorities.user, + }) + line_offset = line_offset + 1 + else + skipped_some = true + end end end + + if skipped_some then + vim.api.nvim_buf_set_extmark(bufnr, ns, line_offset, 0, { + virt_text = { { '...', 'DiagnosticWarn' } }, + virt_text_pos = 'right_align', + virt_text_hide = true, + strict = false, + priority = vim.highlight.priorities.user, + }) + end end local function reload()