28 lines
744 B
Lua
28 lines
744 B
Lua
|
return function(dir, skip_init)
|
||
|
local returns = {}
|
||
|
local lua_files = vim.split(vim.fn.glob(dir.."/*.lua"), "\n")
|
||
|
local namespace = string.gsub(dir, vim.fn.stdpath("config").."/lua/", "")
|
||
|
namespace = string.gsub(namespace, "%/", ".")
|
||
|
|
||
|
for _, file in ipairs(lua_files) do
|
||
|
file = string.gsub(file, "%.lua", "")
|
||
|
file = string.gsub(file, dir.."/", namespace)
|
||
|
|
||
|
if skip_init and file == namespace.."init" then
|
||
|
goto continue
|
||
|
end
|
||
|
|
||
|
local require_ok, require_return = pcall(require, file)
|
||
|
if require_ok then
|
||
|
table.insert(returns, require_return)
|
||
|
else
|
||
|
vim.notify("Could not require file: '"..file.."': "..require_return, vim.log.levels.WARNING)
|
||
|
end
|
||
|
|
||
|
::continue::
|
||
|
end
|
||
|
|
||
|
return returns
|
||
|
end
|
||
|
|