39 lines
1,009 B
Nix
39 lines
1,009 B
Nix
{ ... }:
|
|
{
|
|
extraConfigLuaPre =
|
|
#lua
|
|
''
|
|
do
|
|
_M.plugins = {}
|
|
_M.load = function(name)
|
|
_M.plugins = vim.tbl_deep_extend("force", _M.plugins, {
|
|
name = {
|
|
loaded = true,
|
|
},
|
|
})
|
|
vim.schedule(function()
|
|
vim.api.nvim_exec_autocmds("User", { pattern = "LazyLoad", modeline = false, data = name })
|
|
end)
|
|
end
|
|
_M._is_loaded = function(name)
|
|
local plugins = _M.plugins
|
|
return plugins[name] and plugins[name].loaded
|
|
end
|
|
_M.on_load = function(name, fn)
|
|
if _M._is_loaded(name) then
|
|
fn(name)
|
|
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
|
|
end
|
|
'';
|
|
}
|