Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

neovim/lua/std/puk.lua

Raw
local load_pack = function(plugin_name)
  vim.validate('plugin_name', plugin_name, 'string')
  vim.cmd.packadd { plugin_name, bang = vim.v.vim_did_init == 0 }
  return require(plugin_name)
end

return setmetatable(
  {
    defer = function(plugin_name)
      return vim.schedule_wrap(function(f)
        f(load_pack(plugin_name))
      end)
    end,
  },
  {
    __call = function(_, plugin_name)
      return load_pack(plugin_name)
    end,
  }
)