diff --git a/lua/litee/gh/gitcli/init.lua b/lua/litee/gh/gitcli/init.lua index 7851150..adb9a50 100644 --- a/lua/litee/gh/gitcli/init.lua +++ b/lua/litee/gh/gitcli/init.lua @@ -138,4 +138,12 @@ function M.git_reset_hard(remote, branch) return out end +function M.get_git_remote() + local out = git_exec([[git config --get remote.origin.url]]) + if out == nil then + return nil + end + return out:gsub("\n", "") +end + return M diff --git a/lua/litee/gh/pr/state.lua b/lua/litee/gh/pr/state.lua index 7d96369..c0acb45 100644 --- a/lua/litee/gh/pr/state.lua +++ b/lua/litee/gh/pr/state.lua @@ -529,7 +529,14 @@ function M.get_pr_remote_url() if protocol == 'https' then remote_url = M.pull_state.pr_raw['head']['repo']['clone_url'] else - remote_url = M.pull_state.pr_raw['head']['repo']['ssh_url'] + -- Defaults to git remote if set + local git_origin_url = gitcli.get_git_remote() + if git_origin_url ~= nil then + remote_url = git_origin_url + else + remote_url = M.pull_state.pr_raw['head']['repo']['ssh_url'] + end + end return remote_url