From 6db4274a36fc83d934eb2f415e9f6653f31d5103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=8E=AE=20=28Jade=20Lin=29?= Date: Tue, 1 Jul 2025 21:54:25 +0800 Subject: [PATCH] feat(util): add find_git_root function Add utility function to traverse up directory tree and find git repository root by checking for .git directory. --- lua/lazy/core/util.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lua/lazy/core/util.lua b/lua/lazy/core/util.lua index 83e8a92..d60fb84 100644 --- a/lua/lazy/core/util.lua +++ b/lua/lazy/core/util.lua @@ -228,6 +228,17 @@ function M.walk(path, fn) end) end +---@param path string +function M.find_git_root(path) + local current = path + while current and current ~= "/" do + if vim.fn.isdirectory(current .. "/.git") == 1 then + return current + end + current = vim.fn.fnamemodify(current, ":h") + end +end + ---@param root string ---@param fn fun(modname:string, modpath:string) ---@param modname? string