diff options
author | delta <darkussdelta@gmail.com> | 2024-03-05 14:48:59 +0100 |
---|---|---|
committer | delta <darkussdelta@gmail.com> | 2024-03-05 14:48:59 +0100 |
commit | 510ef8e178929cf5e0c7fd5a5120fecf5f1b79f2 (patch) | |
tree | 3582e5cd7d000335ca94f2a009f3aed57bd86919 /.config/awesome/quarrel/delegate.lua | |
parent | 95ba8030f722a616cff06c122dcfb2f63e25cf45 (diff) |
idk anymore
Diffstat (limited to '.config/awesome/quarrel/delegate.lua')
-rw-r--r-- | .config/awesome/quarrel/delegate.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/.config/awesome/quarrel/delegate.lua b/.config/awesome/quarrel/delegate.lua new file mode 100644 index 0000000..54db786 --- /dev/null +++ b/.config/awesome/quarrel/delegate.lua @@ -0,0 +1,14 @@ +--- Capture `fn`'s upvalues and pass to `delegate` +---@param delegate fun(env: table<string, any>, _: ...): ... +---@param fn function +---@return fun(...): ... +return function(delegate, fn) + local upvalues = {} + for i = 1, debug.getinfo(fn, "u").nups do + local name, value = debug.getupvalue(fn, i) + upvalues[name] = value + end + return function(...) + return delegate(upvalues, ...) + end +end |