nvim-config/lua/utils.lua

25 lines
419 B
Lua

-- utils.lua
local M = {}
function M.await(fn, timeout, interval)
local done = false
local ok, data
-- Wrap resolve in vim.schedule so it runs on main loop
fn(function(success, result)
vim.schedule(function()
done = true
ok = success
data = result
end)
end)
vim.wait(timeout, function()
return done
end, interval)
return { ok = ok or false, data = data }
end
return M