feat(meta): check for dir changes for plugins already added to the rtp

This commit is contained in:
Folke Lemaitre 2024-06-23 17:48:10 +02:00
parent 9ca807f6bb
commit d7bc9ce11a
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
1 changed files with 11 additions and 0 deletions

View File

@ -66,6 +66,17 @@ function M:add(plugin)
table.insert(meta._.frags, fragment.id) table.insert(meta._.frags, fragment.id)
if meta._ and meta._.rtp_loaded then
local old_dir = meta.dir
self:_rebuild(meta.name)
local new_dir = meta.dir
if old_dir ~= new_dir then
local msg = "Plugin `" .. meta.name .. "` changed `dir`:\n- from: `" .. old_dir .. "`\n- to: `" .. new_dir .. "`"
msg = msg .. "\n\nThis plugin was already partially loaded, so things may break.\nPlease fix your config."
self.spec:error(msg)
end
end
if plugin.name then if plugin.name then
-- handle renames -- handle renames
if meta.name ~= plugin.name then if meta.name ~= plugin.name then