diff options
Diffstat (limited to 'lua/mason-core/package/init.lua')
| -rw-r--r-- | lua/mason-core/package/init.lua | 10 |
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 |
