From 723274efeeeddb82a5ee8ca38d456d393555ba94 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Fri, 2 Dec 2022 08:54:27 +0100 Subject: [PATCH] feat(ui): better detection of plugins/config files that loaded a plugin --- lua/lazy/view/render.lua | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lua/lazy/view/render.lua b/lua/lazy/view/render.lua index dffbd96..27e2886 100644 --- a/lua/lazy/view/render.lua +++ b/lua/lazy/view/render.lua @@ -191,21 +191,22 @@ function M:reason(reason, opts) ---@type string? local source = reason.source if source then - local name = source:match("/([^/]-)/lua") + source = vim.loop.fs_realpath(source) or source for _, other in pairs(Config.plugins) do - if name and other.name == name then + if source:find(vim.loop.fs_realpath(other.dir), 1, true) then reason.plugin = other.name reason.source = nil break end end if reason.source then - source = vim.loop.fs_realpath(source) or source - local config = vim.loop.fs_realpath(vim.fn.stdpath("config") .. "/lua") - if source:find(config, 1, true) == 1 then - reason.source = source:sub(#config + 2):gsub("/", "."):gsub("%.lua$", "") - if reason.source == "lua" then - reason.source = "init.lua" + local config = vim.loop.fs_realpath(vim.fn.stdpath("config")) + if source == config .. "/init.lua" then + reason.source = "init.lua" + else + config = config .. "/lua" + if source:find(config, 1, true) == 1 then + reason.source = source:sub(#config + 2):gsub("/", "."):gsub("%.lua$", "") end end end