mirror of
https://github.com/neovim/neovim.git
synced 2025-09-16 16:28:17 +00:00
feat(health): checkhealth buffer can show in a split window (#26714)
:checkhealth now respects :vertical and :horizontal. For example: :vertical checkhealth foo bar will open the healthcheck buffer in a vertical split.
This commit is contained in:
@@ -268,14 +268,27 @@ end
|
||||
|
||||
-- Runs the specified healthchecks.
|
||||
-- Runs all discovered healthchecks if plugin_names is empty.
|
||||
function M._check(plugin_names)
|
||||
-- splitmod controls how the healthcheck window opens: "vertical", "horizontal" or "tab"
|
||||
function M._check(splitmod, plugin_names)
|
||||
local healthchecks = plugin_names == '' and get_healthcheck('*') or get_healthcheck(plugin_names)
|
||||
|
||||
-- Create buffer and open in a tab, unless this is the default buffer when Nvim starts.
|
||||
local emptybuf = vim.fn.bufnr('$') == 1 and vim.fn.getline(1) == '' and 1 == vim.fn.line('$')
|
||||
local mod = emptybuf and 'buffer' or 'tab sbuffer'
|
||||
local mod = function()
|
||||
if splitmod == 'vertical' then
|
||||
return 'vertical sbuffer'
|
||||
elseif splitmod == 'horizontal' then
|
||||
return 'horizontal sbuffer'
|
||||
elseif emptybuf then
|
||||
-- if this is the default buffer when Nvim starts, open healthcheck directly
|
||||
return 'buffer'
|
||||
else
|
||||
-- if not specified otherwise open healthcheck in a tab
|
||||
return 'tab sbuffer'
|
||||
end
|
||||
end
|
||||
|
||||
local bufnr = vim.api.nvim_create_buf(true, true)
|
||||
vim.cmd(mod .. ' ' .. bufnr)
|
||||
vim.cmd(mod() .. ' ' .. bufnr)
|
||||
|
||||
if vim.fn.bufexists('health://') == 1 then
|
||||
vim.cmd.bwipe('health://')
|
||||
|
Reference in New Issue
Block a user