Merge branch 'master' into 2826-one-window-per-explorer-per-tab

This commit is contained in:
Alexander Courtis 2025-08-05 15:24:10 +10:00 committed by GitHub
commit c91746828a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,6 +5,19 @@ local M = {
use_cygpath = false,
}
--- Execute system command
---@param cmd string[]
---@return string stdout
---@return integer exit code
local function system(cmd)
if vim.fn.has("nvim-0.10") == 1 then
local obj = vim.system(cmd):wait()
return obj.stdout or "", obj.code
else
return vim.fn.system(cmd), vim.v.shell_error
end
end
--- Retrieve the git toplevel directory
---@param cwd string path
---@return string|nil toplevel absolute path
@ -16,12 +29,12 @@ function M.get_toplevel(cwd)
local cmd = { "git", "-C", cwd, "rev-parse", "--show-toplevel", "--absolute-git-dir" }
log.line("git", "%s", table.concat(cmd, " "))
local out = vim.fn.system(cmd)
local out, exitCode = system(cmd)
log.raw("git", out)
log.profile_end(profile)
if vim.v.shell_error ~= 0 or not out or #out == 0 or out:match("fatal") then
if exitCode ~= 0 or not out or #out == 0 or out:match("fatal") then
return nil, nil
end
@ -73,7 +86,7 @@ function M.should_show_untracked(cwd)
local cmd = { "git", "-C", cwd, "config", "status.showUntrackedFiles" }
log.line("git", table.concat(cmd, " "))
local has_untracked = vim.fn.system(cmd)
local has_untracked = system(cmd)
log.raw("git", has_untracked)
log.profile_end(profile)