From f9b9b82047cd1efa48e042a751d41c836eaa42c5 Mon Sep 17 00:00:00 2001 From: Michael Lingelbach Date: Thu, 10 Jun 2021 22:14:55 -0400 Subject: fix(lsp): cap diagnostic end range to buf length Closes #14743 --- runtime/lua/vim/lsp/diagnostic.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/lsp/diagnostic.lua b/runtime/lua/vim/lsp/diagnostic.lua index dabe400e0d..05b68472e7 100644 --- a/runtime/lua/vim/lsp/diagnostic.lua +++ b/runtime/lua/vim/lsp/diagnostic.lua @@ -271,8 +271,12 @@ local function set_diagnostic_cache(diagnostics, bufnr, client_id) end -- Account for servers that place diagnostics on terminating newline if buf_line_count > 0 then - local start = diagnostic.range.start - start.line = math.min(start.line, buf_line_count - 1) + diagnostic.range.start.line = math.min( + diagnostic.range.start.line, buf_line_count - 1 + ) + diagnostic.range["end"].line = math.min( + diagnostic.range["end"].line, buf_line_count - 1 + ) end end -- cgit