From 03ea7f6f98a874e26d258dbfe5b196c2d7c6971f Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sat, 18 May 2024 14:38:53 +0200 Subject: [PATCH] feat(root): added support for `*.xxx` root patterns --- lua/lazyvim/util/root.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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