diff options
author | Lewis Russell <lewis6991@gmail.com> | 2025-01-24 13:01:25 +0000 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2025-01-27 16:37:50 +0000 |
commit | 6aa42e8f92bd8bea49b7b2accfe4ab67a5344e41 (patch) | |
tree | 5695108458a60f19e56834e9889ea58fc9c8c32d /runtime/lua/coxpcall.lua | |
parent | 83479b95abae84b4b2b4a0331503298ddc5ff47b (diff) | |
download | rneovim-6aa42e8f92bd8bea49b7b2accfe4ab67a5344e41.tar.gz rneovim-6aa42e8f92bd8bea49b7b2accfe4ab67a5344e41.tar.bz2 rneovim-6aa42e8f92bd8bea49b7b2accfe4ab67a5344e41.zip |
fix: resolve all remaining LuaLS diagnostics
Diffstat (limited to 'runtime/lua/coxpcall.lua')
-rw-r--r-- | runtime/lua/coxpcall.lua | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/runtime/lua/coxpcall.lua b/runtime/lua/coxpcall.lua index 75e7a43567..43e321eac3 100644 --- a/runtime/lua/coxpcall.lua +++ b/runtime/lua/coxpcall.lua @@ -31,22 +31,23 @@ end -- No need to do anything if pcall and xpcall are already safe. if isCoroutineSafe(pcall) and isCoroutineSafe(xpcall) then - copcall = pcall - coxpcall = xpcall + _G.copcall = pcall + _G.coxpcall = xpcall return { pcall = pcall, xpcall = xpcall, running = coroutine.running } end ------------------------------------------------------------------------------- -- Implements xpcall with coroutines ------------------------------------------------------------------------------- -local performResume, handleReturnValue +local performResume local oldpcall, oldxpcall = pcall, xpcall local pack = table.pack or function(...) return {n = select("#", ...), ...} end local unpack = table.unpack or unpack local running = coroutine.running +--- @type table<thread,thread> local coromap = setmetatable({}, { __mode = "k" }) -function handleReturnValue(err, co, status, ...) +local function handleReturnValue(err, co, status, ...) if not status then return false, err(debug.traceback(co, (...)), ...) end @@ -61,11 +62,12 @@ function performResume(err, co, ...) return handleReturnValue(err, co, coroutine.resume(co, ...)) end +--- @diagnostic disable-next-line: unused-vararg local function id(trace, ...) return trace end -function coxpcall(f, err, ...) +function _G.coxpcall(f, err, ...) local current = running() if not current then if err == id then @@ -88,6 +90,7 @@ function coxpcall(f, err, ...) end end +--- @param coro? thread local function corunning(coro) if coro ~= nil then assert(type(coro)=="thread", "Bad argument; expected thread, got: "..type(coro)) @@ -105,7 +108,7 @@ end -- Implements pcall with coroutines ------------------------------------------------------------------------------- -function copcall(f, ...) +function _G.copcall(f, ...) return coxpcall(f, id, ...) end |