diff --git a/lua/lazyvim/util/inject.lua b/lua/lazyvim/util/inject.lua index 81e0f57a..859afc81 100644 --- a/lua/lazyvim/util/inject.lua +++ b/lua/lazyvim/util/inject.lua @@ -31,4 +31,20 @@ function M.get_upvalue(func, name) end end +function M.set_upvalue(func, name, value) + local i = 1 + while true do + local n = debug.getupvalue(func, i) + if not n then + break + end + if n == name then + debug.setupvalue(func, i, value) + return + end + i = i + 1 + end + LazyVim.error("upvalue not found: " .. name) +end + return M