From 9fd89701da8bd3a5d9ffeae84fb2174a3f650797 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 12 Jul 2023 17:24:38 +0200 Subject: [PATCH] feat(util): added util.on_load to execute code when a plugin loads --- lua/lazyvim/util/init.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lua/lazyvim/util/init.lua b/lua/lazyvim/util/init.lua index 782de9e0..bd8a6fa9 100644 --- a/lua/lazyvim/util/init.lua +++ b/lua/lazyvim/util/init.lua @@ -256,4 +256,25 @@ function M.lsp_disable(server, cond) end) end +---@param name string +---@param fn fun(name:string) +function M.on_load(name, fn) + local Config = require("lazy.core.config") + if Config.plugins[name] and Config.plugins[name]._.loaded then + vim.schedule(function() + fn(name) + end) + else + vim.api.nvim_create_autocmd("User", { + pattern = "LazyLoad", + callback = function(event) + if event.data == name then + fn(name) + return true + end + end, + }) + end +end + return M