fix(diagnostic): accept multiple namespaces when setting loclist/qflist (#33982)

This commit is contained in:
Maria José Solano
2025-05-12 19:13:26 -05:00
committed by GitHub
parent 69d04ee99f
commit c681336e3c
3 changed files with 28 additions and 8 deletions

View File

@@ -913,8 +913,8 @@ setloclist({opts}) *vim.diagnostic.setloclist()*
Parameters: ~ Parameters: ~
• {opts} (`table?`) Configuration table with the following keys: • {opts} (`table?`) Configuration table with the following keys:
• {namespace}? (`integer`) Only add diagnostics from the given • {namespace}? (`integer[]|integer`) Only add diagnostics from
namespace. the given namespace(s).
• {winnr}? (`integer`, default: `0`) Window number to set • {winnr}? (`integer`, default: `0`) Window number to set
location list for. location list for.
• {open}? (`boolean`, default: `true`) Open the location list • {open}? (`boolean`, default: `true`) Open the location list
@@ -929,8 +929,8 @@ setqflist({opts}) *vim.diagnostic.setqflist()*
Parameters: ~ Parameters: ~
• {opts} (`table?`) Configuration table with the following keys: • {opts} (`table?`) Configuration table with the following keys:
• {namespace}? (`integer`) Only add diagnostics from the given • {namespace}? (`integer[]|integer`) Only add diagnostics from
namespace. the given namespace(s).
• {open}? (`boolean`, default: `true`) Open quickfix list • {open}? (`boolean`, default: `true`) Open quickfix list
after setting. after setting.
• {title}? (`string`) Title of quickfix list. Defaults to • {title}? (`string`) Title of quickfix list. Defaults to

View File

@@ -2348,8 +2348,8 @@ end
--- @class vim.diagnostic.setqflist.Opts --- @class vim.diagnostic.setqflist.Opts
--- @inlinedoc --- @inlinedoc
--- ---
--- Only add diagnostics from the given namespace. --- Only add diagnostics from the given namespace(s).
--- @field namespace? integer --- @field namespace? integer[]|integer
--- ---
--- Open quickfix list after setting. --- Open quickfix list after setting.
--- (default: `true`) --- (default: `true`)
@@ -2373,8 +2373,8 @@ end
--- @class vim.diagnostic.setloclist.Opts --- @class vim.diagnostic.setloclist.Opts
--- @inlinedoc --- @inlinedoc
--- ---
--- Only add diagnostics from the given namespace. --- Only add diagnostics from the given namespace(s).
--- @field namespace? integer --- @field namespace? integer[]|integer
--- ---
--- Window number to set location list for. --- Window number to set location list for.
--- (default: `0`) --- (default: `0`)

View File

@@ -3428,6 +3428,26 @@ describe('vim.diagnostic', function()
assert(loc_list[1].lnum < loc_list[2].lnum) assert(loc_list[1].lnum < loc_list[2].lnum)
end) end)
it('sets diagnostics from the specified namespaces', function()
local loc_list = exec_lua(function()
vim.api.nvim_win_set_buf(0, _G.diagnostic_bufnr)
vim.diagnostic.set(_G.diagnostic_ns, _G.diagnostic_bufnr, {
_G.make_error('Error here!', 1, 1, 1, 1),
})
vim.diagnostic.set(_G.other_ns, _G.diagnostic_bufnr, {
_G.make_warning('Error there!', 2, 2, 2, 2),
})
vim.diagnostic.setloclist({ namespace = { _G.diagnostic_ns } })
return vim.fn.getloclist(0)
end)
eq(1, #loc_list)
eq('Error here!', loc_list[1].text)
end)
end) end)
describe('setqflist()', function() describe('setqflist()', function()