From 5ed89b5a0d6be65ec9fd0f6526c8c27a922f50a1 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sat, 7 Jan 2023 09:12:51 +0100 Subject: [PATCH] fix(config): properly handle uis connecting after startup --- lua/lazy/core/config.lua | 49 ++++++++++++++++++------------------ lua/lazy/core/util.lua | 1 + lua/lazy/manage/checker.lua | 2 +- lua/lazy/manage/reloader.lua | 2 +- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/lua/lazy/core/config.lua b/lua/lazy/core/config.lua index c83a09a..372bc70 100644 --- a/lua/lazy/core/config.lua +++ b/lua/lazy/core/config.lua @@ -160,7 +160,7 @@ M.me = nil M.mapleader = nil function M.headless() - return #vim.api.nvim_list_uis() == 0 + return #vim.api.nvim_list_uis() == 0 end ---@param opts? LazyConfig @@ -204,31 +204,32 @@ function M.setup(opts) if M.headless() then 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 + 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() end diff --git a/lua/lazy/core/util.lua b/lua/lazy/core/util.lua index 48582c0..5111566 100644 --- a/lua/lazy/core/util.lua +++ b/lua/lazy/core/util.lua @@ -142,6 +142,7 @@ end function M.very_lazy() local function _load() vim.defer_fn(function() + vim.g.did_very_lazy = true vim.cmd("do User VeryLazy") end, 50) end diff --git a/lua/lazy/manage/checker.lua b/lua/lazy/manage/checker.lua index 5597bbc..477c63d 100644 --- a/lua/lazy/manage/checker.lua +++ b/lua/lazy/manage/checker.lua @@ -65,7 +65,7 @@ function M.report(notify) 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") Util.info(lines) end diff --git a/lua/lazy/manage/reloader.lua b/lua/lazy/manage/reloader.lua index d338775..5f9a74b 100644 --- a/lua/lazy/manage/reloader.lua +++ b/lua/lazy/manage/reloader.lua @@ -75,7 +75,7 @@ function M.check(start) if not (start or #changes == 0) then 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...", "" } for _, change in ipairs(changes) do table.insert(lines, "- **" .. change.what .. "**: `" .. vim.fn.fnamemodify(change.file, ":p:~:.") .. "`")