aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/diagnostic.lua
diff options
context:
space:
mode:
authorRaphael <glephunter@gmail.com>2024-04-23 19:13:58 +0800
committerGitHub <noreply@github.com>2024-04-23 04:13:58 -0700
commita4fc3bb0e68c8b078377fd9826e4cca3b4b3fdbf (patch)
tree41e1738c5cc0293acad307b3c2f55467cc523777 /runtime/lua/vim/diagnostic.lua
parentad76b050eb2cd03174c108b5ae6759b3c1ea8941 (diff)
downloadrneovim-a4fc3bb0e68c8b078377fd9826e4cca3b4b3fdbf.tar.gz
rneovim-a4fc3bb0e68c8b078377fd9826e4cca3b4b3fdbf.tar.bz2
rneovim-a4fc3bb0e68c8b078377fd9826e4cca3b4b3fdbf.zip
fix(diagnostic): vim.diagnostic.get(…,{lnum=…}) on multi-line diagnostic #28273
Problem: vim.diagnostic.get(…,{lnum=…}) does not match multi-line diagnostics. Solution: add end_lnum support.
Diffstat (limited to 'runtime/lua/vim/diagnostic.lua')
-rw-r--r--runtime/lua/vim/diagnostic.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/lua/vim/diagnostic.lua b/runtime/lua/vim/diagnostic.lua
index 7371b5241f..b42eece4c2 100644
--- a/runtime/lua/vim/diagnostic.lua
+++ b/runtime/lua/vim/diagnostic.lua
@@ -717,7 +717,7 @@ local function get_diagnostics(bufnr, opts, clamp)
---@param b integer
---@param d vim.Diagnostic
local function add(b, d)
- if not opts.lnum or d.lnum == opts.lnum then
+ if not opts.lnum or (opts.lnum >= d.lnum and opts.lnum <= (d.end_lnum or d.lnum)) then
if clamp and api.nvim_buf_is_loaded(b) then
local line_count = buf_line_count[b] - 1
if
@@ -1140,7 +1140,7 @@ end
--- Limit diagnostics to one or more namespaces.
--- @field namespace? integer[]|integer
---
---- Limit diagnostics to the given line number.
+--- Limit diagnostics to those spanning the specified line number.
--- @field lnum? integer
---
--- See |diagnostic-severity|.