From 7f50df6a2f6f44c5a0285f26118695e22afc3fc2 Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: Sat, 20 Mar 2021 16:34:00 +0100 Subject: [PATCH] Ensure plugin within a directory are loaded Close #118 --- data/core/init.lua | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/data/core/init.lua b/data/core/init.lua index 1934c8a4..f8833df6 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -546,17 +546,14 @@ end function core.load_plugins() local no_errors = true for _, root_dir in ipairs {USERDIR, DATADIR} do - local files = system.list_dir(root_dir .. "/plugins") + local plugin_dir = root_dir .. "/plugins" + local files = system.list_dir(plugin_dir) for _, filename in ipairs(files or {}) do - local basename = filename:match("(.-)%.lua$") - if basename and config[basename] ~= false then + local basename = filename:match("(.-)%.lua$") or filename + if config[basename] ~= false then local modname = "plugins." .. basename local ok = core.try(require, modname) - -- Normally a log line is added for each loaded plugin which is a - -- good thing. Unfortunately we load the user module before the plugins - -- so all the messages here can fill the log screen and hide an eventual - -- user module's error. - -- if ok then core.log_quiet("Loaded plugin %q", modname) end + if ok then core.log_quiet("Loaded plugin %q from %s", basename, plugin_dir) end if not ok then no_errors = false end