mirror of https://github.com/folke/lazy.nvim.git
refactor: reloader
This commit is contained in:
parent
025520d083
commit
f4d57485b0
|
@ -92,7 +92,10 @@ function M.pretty_trace(opts)
|
|||
return #trace > 0 and ("\n\n# stacktrace:\n" .. table.concat(trace, "\n")) or ""
|
||||
end
|
||||
|
||||
---@generic R
|
||||
---@param fn fun():R
|
||||
---@param opts? string|{msg:string, on_error:fun(msg)}
|
||||
---@return R
|
||||
function M.try(fn, opts)
|
||||
opts = type(opts) == "string" and { msg = opts } or opts or {}
|
||||
local msg = opts.msg
|
||||
|
|
|
@ -84,19 +84,24 @@ function M.check(start)
|
|||
end
|
||||
|
||||
if not (start or #changes == 0) then
|
||||
vim.schedule(function()
|
||||
if Config.options.change_detection.notify and not Config.headless() then
|
||||
local lines = { "# Config Change Detected. Reloading...", "" }
|
||||
for _, change in ipairs(changes) do
|
||||
table.insert(lines, "- **" .. change.what .. "**: `" .. vim.fn.fnamemodify(change.file, ":p:~:.") .. "`")
|
||||
end
|
||||
Util.warn(lines)
|
||||
end
|
||||
Plugin.load()
|
||||
vim.api.nvim_exec_autocmds("User", { pattern = "LazyRender", modeline = false })
|
||||
vim.api.nvim_exec_autocmds("User", { pattern = "LazyReload", modeline = false })
|
||||
end)
|
||||
M.reload(changes)
|
||||
end
|
||||
end
|
||||
|
||||
---@param {file:string, what:string}[]
|
||||
function M.reload(changes)
|
||||
vim.schedule(function()
|
||||
if Config.options.change_detection.notify and not Config.headless() then
|
||||
local lines = { "# Config Change Detected. Reloading...", "" }
|
||||
for _, change in ipairs(changes) do
|
||||
table.insert(lines, "- **" .. change.what .. "**: `" .. vim.fn.fnamemodify(change.file, ":p:~:.") .. "`")
|
||||
end
|
||||
Util.warn(lines)
|
||||
end
|
||||
Plugin.load()
|
||||
vim.api.nvim_exec_autocmds("User", { pattern = "LazyRender", modeline = false })
|
||||
vim.api.nvim_exec_autocmds("User", { pattern = "LazyReload", modeline = false })
|
||||
end)
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
Loading…
Reference in New Issue