mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 12:50:03 +08:00
62 lines
1.5 KiB
Lua
62 lines
1.5 KiB
Lua
|
---@brief [[
|
||
|
--- NOTE: This API is still under construction.
|
||
|
--- It may change in the future :)
|
||
|
---@brief ]]
|
||
|
|
||
|
local lookups = {
|
||
|
uv = "plenary.async.uv_async",
|
||
|
util = "plenary.async.util",
|
||
|
lsp = "plenary.async.lsp",
|
||
|
api = "plenary.async.api",
|
||
|
tests = "plenary.async.tests",
|
||
|
control = "plenary.async.control",
|
||
|
}
|
||
|
|
||
|
local exports = setmetatable(require "plenary.async.async", {
|
||
|
__index = function(t, k)
|
||
|
local require_path = lookups[k]
|
||
|
if not require_path then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
local mod = require(require_path)
|
||
|
t[k] = mod
|
||
|
|
||
|
return mod
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
exports.tests.add_globals = function()
|
||
|
a = exports
|
||
|
async = exports.async
|
||
|
await = exports.await
|
||
|
await_all = exports.await_all
|
||
|
|
||
|
-- must prefix with a or stack overflow, plenary.test harness already added it
|
||
|
a.describe = exports.tests.describe
|
||
|
-- must prefix with a or stack overflow
|
||
|
a.it = exports.tests.it
|
||
|
a.before_each = exports.tests.before_each
|
||
|
a.after_each = exports.tests.after_each
|
||
|
end
|
||
|
|
||
|
exports.tests.add_to_env = function()
|
||
|
local env = getfenv(2)
|
||
|
|
||
|
env.a = exports
|
||
|
env.async = exports.async
|
||
|
env.await = exports.await
|
||
|
env.await_all = exports.await_all
|
||
|
|
||
|
-- must prefix with a or stack overflow, plenary.test harness already added it
|
||
|
env.a.describe = exports.tests.describe
|
||
|
-- must prefix with a or stack overflow
|
||
|
env.a.it = exports.tests.it
|
||
|
a.before_each = exports.tests.before_each
|
||
|
a.after_each = exports.tests.after_each
|
||
|
|
||
|
setfenv(2, env)
|
||
|
end
|
||
|
|
||
|
return exports
|