This commit is contained in:
林玮 (Jade Lin) 2025-07-01 23:02:28 +08:00 committed by GitHub
commit 9f647add30
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 1 deletions

View file

@ -315,6 +315,18 @@ function M.find_local_spec()
end end
end end
function M.find_actual_origin_spec()
local info = debug.getinfo(2, "S")
local current_file = info.source:sub(2) -- remove the leading '@'
local current_dir = vim.fn.fnamemodify(current_file, ":h")
local git_root = Util.find_git_root(current_dir)
local Git = require("lazy.manage.git")
return {
url = Git.get_origin(git_root),
}
end
function M.load() function M.load()
M.loading = true M.loading = true
-- load specs -- load specs
@ -326,7 +338,7 @@ function M.load()
vim.deepcopy(Config.options.spec), vim.deepcopy(Config.options.spec),
} }
specs[#specs + 1] = M.find_local_spec() specs[#specs + 1] = M.find_local_spec()
specs[#specs + 1] = { "folke/lazy.nvim" } specs[#specs + 1] = M.find_actual_origin_spec()
Config.spec:parse(specs) Config.spec:parse(specs)

View file

@ -228,6 +228,17 @@ function M.walk(path, fn)
end) end)
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 root string
---@param fn fun(modname:string, modpath:string) ---@param fn fun(modname:string, modpath:string)
---@param modname? string ---@param modname? string