40 lines
771 B
Lua
40 lines
771 B
Lua
local module = require("dep.modules.module")
|
|
|
|
---@class modules
|
|
---@field modules module[] all modules in dep
|
|
local modules = {}
|
|
|
|
--- Initialize all the modules
|
|
---@param self table?
|
|
---@param speclist table
|
|
---@param overrides spec? overrides
|
|
---@return modules modules manager
|
|
---@nodisacard
|
|
function modules:setup(speclist, overrides)
|
|
overrides = overrides or {}
|
|
|
|
local o = {}
|
|
self = {}
|
|
self.__index = self
|
|
setmetatable(o, self)
|
|
|
|
-- create a list of modules
|
|
o.modules = {}
|
|
|
|
-- loop through all modules and initialize them
|
|
for _, modpath in ipairs(speclist.modules) do
|
|
local mod = module.new(
|
|
nil,
|
|
modpath,
|
|
speclist.modules.prefix,
|
|
overrides
|
|
)
|
|
|
|
table.insert(o.modules, mod)
|
|
end
|
|
|
|
return self
|
|
end
|
|
|
|
return modules
|