fix(config): properly handle uis connecting after startup

This commit is contained in:
Folke Lemaitre 2023-01-07 09:12:51 +01:00
parent 457e65eec8
commit 5ed89b5a0d
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
4 changed files with 28 additions and 26 deletions

View File

@ -160,7 +160,7 @@ M.me = nil
M.mapleader = nil M.mapleader = nil
function M.headless() function M.headless()
return #vim.api.nvim_list_uis() == 0 return #vim.api.nvim_list_uis() == 0
end end
---@param opts? LazyConfig ---@param opts? LazyConfig
@ -204,31 +204,32 @@ function M.setup(opts)
if M.headless() then if M.headless() then
require("lazy.view.commands").setup() require("lazy.view.commands").setup()
else
vim.api.nvim_create_autocmd("UIEnter", {
callback = function()
require("lazy.stats").on_ui_enter()
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "VeryLazy",
once = true,
callback = function()
require("lazy.core.cache").autosave()
require("lazy.view.commands").setup()
if M.options.change_detection.enabled then
require("lazy.manage.reloader").enable()
end
if M.options.checker.enabled then
vim.defer_fn(function()
require("lazy.manage.checker").start()
end, 10)
end
end,
})
end end
vim.api.nvim_create_autocmd("UIEnter", {
once = true,
callback = function()
require("lazy.stats").on_ui_enter()
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "VeryLazy",
once = true,
callback = function()
require("lazy.core.cache").autosave()
require("lazy.view.commands").setup()
if M.options.change_detection.enabled then
require("lazy.manage.reloader").enable()
end
if M.options.checker.enabled then
vim.defer_fn(function()
require("lazy.manage.checker").start()
end, 10)
end
end,
})
Util.very_lazy() Util.very_lazy()
end end

View File

@ -142,6 +142,7 @@ end
function M.very_lazy() function M.very_lazy()
local function _load() local function _load()
vim.defer_fn(function() vim.defer_fn(function()
vim.g.did_very_lazy = true
vim.cmd("do User VeryLazy") vim.cmd("do User VeryLazy")
end, 50) end, 50)
end end

View File

@ -65,7 +65,7 @@ function M.report(notify)
end end
end end
end end
if #lines > 0 and notify and Config.options.checker.notify then if #lines > 0 and notify and Config.options.checker.notify and not Config.headless() then
table.insert(lines, 1, "# Plugin Updates") table.insert(lines, 1, "# Plugin Updates")
Util.info(lines) Util.info(lines)
end end

View File

@ -75,7 +75,7 @@ function M.check(start)
if not (start or #changes == 0) then if not (start or #changes == 0) then
vim.schedule(function() vim.schedule(function()
if Config.options.change_detection.notify then if Config.options.change_detection.notify and not Config.headless() then
local lines = { "# Config Change Detected. Reloading...", "" } local lines = { "# Config Change Detected. Reloading...", "" }
for _, change in ipairs(changes) do for _, change in ipairs(changes) do
table.insert(lines, "- **" .. change.what .. "**: `" .. vim.fn.fnamemodify(change.file, ":p:~:.") .. "`") table.insert(lines, "- **" .. change.what .. "**: `" .. vim.fn.fnamemodify(change.file, ":p:~:.") .. "`")