diff --git a/lua/dep/modules/init.lua b/lua/dep/modules/init.lua index d212eb6..9199898 100644 --- a/lua/dep/modules/init.lua +++ b/lua/dep/modules/init.lua @@ -23,14 +23,13 @@ function modules:setup(speclist, overrides) -- loop through all modules and initialize them for _, modpath in ipairs(speclist.modules) do - local mod = module.new( - nil, - modpath, - speclist.modules.prefix, - overrides - ) + local mod = module.new(nil, modpath, speclist.modules.prefix, overrides) + if not mod then + goto continue + end table.insert(o.modules, mod) + ::continue:: end return self diff --git a/lua/dep/modules/module.lua b/lua/dep/modules/module.lua index 930b8b6..a6cd04d 100644 --- a/lua/dep/modules/module.lua +++ b/lua/dep/modules/module.lua @@ -1,3 +1,4 @@ +local logger = require('dep.log') local spec_man = require("dep.spec") local packager = require("dep.package") @@ -36,6 +37,7 @@ function module:new(modpath, prefix, overrides) o.name = modpath ok, o.mod = pcall(require, o.path) if not ok then + logger:log("error", "failed to load module: %s", vim.inspect(o.mod)) return false end end @@ -49,7 +51,8 @@ function module:new(modpath, prefix, overrides) ok, err = pcall(packager.register_speclist, o.mod, overrides) if not ok then - error(string.format("%s <- %s", err, o.name)) + logger:log("error", "%s <- %s", err, o.name) + return false end return self