nvim/lua/lazy.lua
xfy 61f2c89362 Add nil guard to lazy.load and custom mini.diff mappings
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 11:43:06 +08:00

37 lines
697 B
Lua

local M = {}
M._loaded = {}
M.load = function(name, fn)
if M._loaded[name] then
return
end
M._loaded[name] = true
if fn then
fn()
end
end
M.on_event = function(name, event, pattern, fn)
vim.api.nvim_create_autocmd(event, {
pattern = pattern or "*",
once = true,
callback = function()
M.load(name, fn)
end,
})
end
M.on_keys = function(name, keys, mode, fn, action, opts)
mode = mode or "n"
opts = opts or {}
vim.keymap.set(mode, keys, function()
M.load(name, fn)
if action then
action()
end
end, { desc = opts.desc, buffer = opts.buffer })
end
return M