mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
refactor: add vim._resolve_bufnr
This commit is contained in:
committed by
Lewis Russell
parent
b52ffd0a59
commit
668d2569b4
@ -573,13 +573,6 @@ local underline_highlight_map = make_highlight_map('Underline')
|
||||
local floating_highlight_map = make_highlight_map('Floating')
|
||||
local sign_highlight_map = make_highlight_map('Sign')
|
||||
|
||||
local function get_bufnr(bufnr)
|
||||
if not bufnr or bufnr == 0 then
|
||||
return api.nvim_get_current_buf()
|
||||
end
|
||||
return bufnr
|
||||
end
|
||||
|
||||
--- @param diagnostics vim.Diagnostic[]
|
||||
--- @return table<integer,vim.Diagnostic[]>
|
||||
local function diagnostic_lines(diagnostics)
|
||||
@ -642,7 +635,7 @@ end
|
||||
--- @param namespace integer
|
||||
--- @param bufnr? integer
|
||||
local function save_extmarks(namespace, bufnr)
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
if not diagnostic_attached_buffers[bufnr] then
|
||||
api.nvim_buf_attach(bufnr, false, {
|
||||
on_lines = function(_, _, _, _, _, last)
|
||||
@ -814,7 +807,7 @@ local function get_diagnostics(bufnr, opts, clamp)
|
||||
end
|
||||
end
|
||||
elseif namespace == nil then
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
for iter_namespace in pairs(diagnostic_cache[bufnr]) do
|
||||
add_all_diags(bufnr, diagnostic_cache[bufnr][iter_namespace])
|
||||
end
|
||||
@ -825,7 +818,7 @@ local function get_diagnostics(bufnr, opts, clamp)
|
||||
end
|
||||
end
|
||||
else
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
for _, iter_namespace in ipairs(namespace) do
|
||||
add_all_diags(bufnr, diagnostic_cache[bufnr][iter_namespace] or {})
|
||||
end
|
||||
@ -1100,7 +1093,7 @@ function M.set(namespace, bufnr, diagnostics, opts)
|
||||
vim.validate('diagnostics', diagnostics, vim.islist, 'a list of diagnostics')
|
||||
vim.validate('opts', opts, 'table', true)
|
||||
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
|
||||
if vim.tbl_isempty(diagnostics) then
|
||||
diagnostic_cache[bufnr][namespace] = nil
|
||||
@ -1380,7 +1373,7 @@ M.handlers.signs = {
|
||||
vim.validate('diagnostics', diagnostics, vim.islist, 'a list of diagnostics')
|
||||
vim.validate('opts', opts, 'table', true)
|
||||
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
opts = opts or {}
|
||||
|
||||
if not api.nvim_buf_is_loaded(bufnr) then
|
||||
@ -1486,7 +1479,7 @@ M.handlers.underline = {
|
||||
vim.validate('diagnostics', diagnostics, vim.islist, 'a list of diagnostics')
|
||||
vim.validate('opts', opts, 'table', true)
|
||||
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
opts = opts or {}
|
||||
|
||||
if not vim.api.nvim_buf_is_loaded(bufnr) then
|
||||
@ -1550,7 +1543,7 @@ M.handlers.virtual_text = {
|
||||
vim.validate('diagnostics', diagnostics, vim.islist, 'a list of diagnostics')
|
||||
vim.validate('opts', opts, 'table', true)
|
||||
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
opts = opts or {}
|
||||
|
||||
if not vim.api.nvim_buf_is_loaded(bufnr) then
|
||||
@ -1675,7 +1668,7 @@ function M.hide(namespace, bufnr)
|
||||
vim.validate('namespace', namespace, 'number', true)
|
||||
vim.validate('bufnr', bufnr, 'number', true)
|
||||
|
||||
local buffers = bufnr and { get_bufnr(bufnr) } or vim.tbl_keys(diagnostic_cache)
|
||||
local buffers = bufnr and { vim._resolve_bufnr(bufnr) } or vim.tbl_keys(diagnostic_cache)
|
||||
for _, iter_bufnr in ipairs(buffers) do
|
||||
local namespaces = namespace and { namespace } or vim.tbl_keys(diagnostic_cache[iter_bufnr])
|
||||
for _, iter_namespace in ipairs(namespaces) do
|
||||
@ -1702,7 +1695,7 @@ function M.is_enabled(filter)
|
||||
return vim.tbl_isempty(diagnostic_disabled) and not diagnostic_disabled[1]
|
||||
end
|
||||
|
||||
local bufnr = get_bufnr(filter.bufnr)
|
||||
local bufnr = vim._resolve_bufnr(filter.bufnr)
|
||||
if type(diagnostic_disabled[bufnr]) == 'table' then
|
||||
return not diagnostic_disabled[bufnr][filter.ns_id]
|
||||
end
|
||||
@ -1743,7 +1736,7 @@ function M.show(namespace, bufnr, diagnostics, opts)
|
||||
end
|
||||
else
|
||||
-- namespace is nil
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
for iter_namespace in pairs(diagnostic_cache[bufnr]) do
|
||||
M.show(iter_namespace, bufnr, nil, opts)
|
||||
end
|
||||
@ -1810,7 +1803,7 @@ function M.open_float(opts, ...)
|
||||
end
|
||||
|
||||
opts = opts or {}
|
||||
bufnr = get_bufnr(bufnr or opts.bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr or opts.bufnr)
|
||||
|
||||
do
|
||||
-- Resolve options with user settings from vim.diagnostic.config
|
||||
@ -2013,7 +2006,7 @@ function M.reset(namespace, bufnr)
|
||||
vim.validate('namespace', namespace, 'number', true)
|
||||
vim.validate('bufnr', bufnr, 'number', true)
|
||||
|
||||
local buffers = bufnr and { get_bufnr(bufnr) } or vim.tbl_keys(diagnostic_cache)
|
||||
local buffers = bufnr and { vim._resolve_bufnr(bufnr) } or vim.tbl_keys(diagnostic_cache)
|
||||
for _, iter_bufnr in ipairs(buffers) do
|
||||
local namespaces = namespace and { namespace } or vim.tbl_keys(diagnostic_cache[iter_bufnr])
|
||||
for _, iter_namespace in ipairs(namespaces) do
|
||||
@ -2151,7 +2144,7 @@ function M.enable(enable, filter)
|
||||
ns.disabled = not enable
|
||||
end
|
||||
else
|
||||
bufnr = get_bufnr(bufnr)
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
if not ns_id then
|
||||
diagnostic_disabled[bufnr] = (not enable) and true or nil
|
||||
else
|
||||
|
Reference in New Issue
Block a user