Ensure config.plugins are restored on new config
When a user's or project's module configuration file is changed we make sure that the config.plugins fields are all restored so that all plugins already loaded can continue to work.
This commit is contained in:
parent
656a89c494
commit
4cdd42de1a
|
@ -81,17 +81,24 @@ end
|
||||||
|
|
||||||
|
|
||||||
local function reload_customizations()
|
local function reload_customizations()
|
||||||
core.reload_module("core.style")
|
-- The logic is:
|
||||||
|
-- - the core.style and config modules are reloaded with the purpose of applying
|
||||||
|
-- the new user's and project's module configs
|
||||||
|
-- - inside the core.config the existing fields in config.plugins are preserved
|
||||||
|
-- because they are reserved to plugins configuration and plugins are already
|
||||||
|
-- loaded.
|
||||||
|
-- - plugins are not reloaded or unloaded
|
||||||
local plugins_save = {}
|
local plugins_save = {}
|
||||||
for k, v in pairs(config.plugins) do
|
for k, v in pairs(config.plugins) do
|
||||||
plugins_save[k] = v
|
plugins_save[k] = v
|
||||||
end
|
end
|
||||||
|
core.reload_module("core.style")
|
||||||
core.reload_module("core.config")
|
core.reload_module("core.config")
|
||||||
|
core.load_user_directory()
|
||||||
|
core.load_project_module()
|
||||||
for k, v in pairs(plugins_save) do
|
for k, v in pairs(plugins_save) do
|
||||||
config.plugins[k] = v
|
config.plugins[k] = v
|
||||||
end
|
end
|
||||||
core.load_user_directory()
|
|
||||||
core.load_project_module()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue