diff --git a/lua/lazyvim/util/root.lua b/lua/lazyvim/util/root.lua index c8de430d..f1167337 100644 --- a/lua/lazyvim/util/root.lua +++ b/lua/lazyvim/util/root.lua @@ -47,7 +47,17 @@ end function M.detectors.pattern(buf, patterns) patterns = type(patterns) == "string" and { patterns } or patterns local path = M.bufpath(buf) or vim.uv.cwd() - local pattern = vim.fs.find(patterns, { path = path, upward = true })[1] + local pattern = vim.fs.find(function(name) + for _, p in ipairs(patterns) do + if name == p then + return true + end + if p:sub(1, 1) == "*" and name:find(p:sub(2) .. "$") then + return true + end + end + return false + end, { path = path, upward = true })[1] return pattern and { vim.fs.dirname(pattern) } or {} end