diff --git a/lua/lib/utils.lua b/lua/lib/utils.lua index 8320473..115c506 100644 --- a/lua/lib/utils.lua +++ b/lua/lib/utils.lua @@ -40,6 +40,13 @@ function M.list_extend(dst, src) return dst end +function M.tbl_extend(dst, src) + for key, value in pairs(src) do + dst[key] = value + end + return dst +end + local function deepcopy(value, seen) if type(value) ~= "table" then return value diff --git a/lua/modules/init.lua b/lua/modules/init.lua index e43bff6..2e08caa 100644 --- a/lua/modules/init.lua +++ b/lua/modules/init.lua @@ -41,7 +41,13 @@ M.envs = {} M.windowrules = {} local function collect_modules_prop(module, prop) - if module[prop] then + if not module[prop] then + return + end + + if prop == "envs" then + M[prop] = utils.tbl_extend(M[prop], module[prop]) + else M[prop] = utils.list_extend(M[prop], module[prop]) end end