diff --git a/lua/lazy/core/config.lua b/lua/lazy/core/config.lua index c85821f..73761de 100644 --- a/lua/lazy/core/config.lua +++ b/lua/lazy/core/config.lua @@ -21,7 +21,7 @@ M.defaults = { }, dev = { -- directory where you store your local plugin projects - path = vim.fn.expand("~/projects"), + path = "~/projects", ---@type string[] plugins that match these patterns will use your local versions instead of being fetched from GitHub patterns = {}, -- For example {"folke"} }, @@ -112,12 +112,17 @@ function M.setup(spec, opts) M.options.performance.cache = require("lazy.core.cache") table.insert(M.options.install.colorscheme, "habamax") + M.options.root = Util.norm(M.options.root) + M.options.dev.path = Util.norm(M.options.dev.path) + M.options.lockfile = Util.norm(M.options.lockfile) + M.options.readme.root = Util.norm(M.options.readme.root) + if M.options.performance.reset_packpath then vim.go.packpath = "" end if M.options.performance.rtp.reset then M.me = debug.getinfo(1, "S").source:sub(2) - M.me = vim.fn.fnamemodify(M.me, ":p:h:h:h:h") + M.me = Util.norm(vim.fn.fnamemodify(M.me, ":p:h:h:h:h")) vim.opt.rtp = { M.me, vim.env.VIMRUNTIME, diff --git a/lua/lazy/core/plugin.lua b/lua/lazy/core/plugin.lua index 88ef2af..eda70ee 100644 --- a/lua/lazy/core/plugin.lua +++ b/lua/lazy/core/plugin.lua @@ -78,7 +78,7 @@ function Spec:add(plugin, is_dep) end if plugin.dir then - plugin.dir = plugin.dir:gsub("~", os.getenv("HOME") or "~") + plugin.dir = Util.norm(plugin.dir) -- local plugin plugin.name = plugin.name or Spec.get_name(plugin.dir) elseif plugin.url then @@ -168,7 +168,7 @@ function M.update_state() ---@type table local installed = {} Util.ls(Config.options.root, function(_, name, type) - if type == "directory" or type == "link" then + if type == "directory" and name ~= "readme" then installed[name] = type end end) diff --git a/lua/lazy/view/render.lua b/lua/lazy/view/render.lua index 19e869d..67d306b 100644 --- a/lua/lazy/view/render.lua +++ b/lua/lazy/view/render.lua @@ -220,12 +220,13 @@ function M:reason(reason, opts) ---@type string? local source = reason.source if source then + source = Util.norm(source) local plugin = Plugin.find(source) if plugin then reason.plugin = plugin.name reason.source = nil else - local config = vim.fn.stdpath("config") + local config = Util.norm(vim.fn.stdpath("config")) if source == config .. "/init.lua" then reason.source = "init.lua" else @@ -237,6 +238,7 @@ function M:reason(reason, opts) end end if reason.runtime then + reason.runtime = Util.norm(reason.runtime) reason.runtime = reason.runtime:gsub(".*/([^/]+/plugin/.*)", "%1") reason.runtime = reason.runtime:gsub(".*/([^/]+/after/.*)", "%1") reason.runtime = reason.runtime:gsub(".*/([^/]+/ftdetect/.*)", "%1")