aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/diagnostic.lua
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-06-10 22:14:55 -0400
committerMichael Lingelbach <m.j.lbach@gmail.com>2021-06-10 22:16:34 -0400
commitf9b9b82047cd1efa48e042a751d41c836eaa42c5 (patch)
tree4a60c2971d119836c6433ac7d52e004fb2b67b14 /runtime/lua/vim/lsp/diagnostic.lua
parent1df8a34a7b91028413d6ac751b9dbf9fdcd6cda2 (diff)
downloadrneovim-f9b9b82047cd1efa48e042a751d41c836eaa42c5.tar.gz
rneovim-f9b9b82047cd1efa48e042a751d41c836eaa42c5.tar.bz2
rneovim-f9b9b82047cd1efa48e042a751d41c836eaa42c5.zip
fix(lsp): cap diagnostic end range to buf length
Closes #14743
Diffstat (limited to 'runtime/lua/vim/lsp/diagnostic.lua')
-rw-r--r--runtime/lua/vim/lsp/diagnostic.lua8
1 files changed, 6 insertions, 2 deletions
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