aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/package/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/package/init.lua')
-rw-r--r--lua/mason-core/package/init.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/lua/mason-core/package/init.lua b/lua/mason-core/package/init.lua
index 81d8ca31..e46219b7 100644
--- a/lua/mason-core/package/init.lua
+++ b/lua/mason-core/package/init.lua
@@ -80,7 +80,17 @@ function Package:new_handle()
log.fmt_trace("Creating new handle for %s", self)
local handle = InstallationHandle.new(self)
self.handle = handle
+
+ -- First emit a private autocmd via the native event bus. This is to enable some internal perf improvements (helps avoid loading some Lua modules).
+ if vim.fn.has "nvim-0.8.0" == 1 then
+ vim.api.nvim_exec_autocmds("User", { pattern = "__MasonPackageHandle", data = self.name })
+ else
+ vim.api.nvim_exec_autocmds("User", { pattern = "__MasonPackageHandle" })
+ end
+
self:emit("handle", handle)
+ registry:emit("package:handle", self, handle)
+
return handle
end