summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/controllers/helpers')
-rw-r--r--pkg/gui/controllers/helpers/refresh_helper.go4
-rw-r--r--pkg/gui/controllers/helpers/worktree_helper.go37
2 files changed, 40 insertions, 1 deletions
diff --git a/pkg/gui/controllers/helpers/refresh_helper.go b/pkg/gui/controllers/helpers/refresh_helper.go
index 2dc345881..e77e51a48 100644
--- a/pkg/gui/controllers/helpers/refresh_helper.go
+++ b/pkg/gui/controllers/helpers/refresh_helper.go
@@ -604,7 +604,9 @@ func (self *RefreshHelper) refreshStatus() {
linkedWorktreeName = self.worktreeHelper.GetLinkedWorktreeName()
}
- status := presentation.FormatStatus(currentBranch, linkedWorktreeName, workingTreeState, self.c.Tr)
+ repoName := self.worktreeHelper.GetCurrentRepoName()
+
+ status := presentation.FormatStatus(repoName, currentBranch, linkedWorktreeName, workingTreeState, self.c.Tr)
self.c.SetViewContent(self.c.Views().Status, status)
}
diff --git a/pkg/gui/controllers/helpers/worktree_helper.go b/pkg/gui/controllers/helpers/worktree_helper.go
index db59b1afe..bebf2cc66 100644
--- a/pkg/gui/controllers/helpers/worktree_helper.go
+++ b/pkg/gui/controllers/helpers/worktree_helper.go
@@ -3,7 +3,9 @@ package helpers
import (
"errors"
"io/fs"
+ "log"
"os"
+ "path/filepath"
"strings"
"github.com/jesseduffield/gocui"
@@ -263,3 +265,38 @@ func (self *WorktreeHelper) ViewBranchWorktreeOptions(branchName string, canChec
},
})
}
+
+func (self *WorktreeHelper) GetCurrentRepoName() string {
+ pwd, err := os.Getwd()
+ if err != nil {
+ log.Fatalln(err.Error())
+ }
+
+ // check if .git is a file or a directory
+ gitPath := filepath.Join(pwd, ".git")
+ gitFileInfo, err := os.Stat(gitPath)
+ if err != nil {
+ log.Fatalln(err.Error())
+ }
+
+ // must be a worktree or bare repo
+ if !gitFileInfo.IsDir() {
+ worktreeGitPath, ok := git_commands.WorktreeGitPath(pwd)
+ if !ok {
+ return basePath()
+ }
+
+ // now we just jump up three directories to get the repo name
+ return filepath.Base(filepath.Dir(filepath.Dir(filepath.Dir(worktreeGitPath))))
+ }
+
+ return basePath()
+}
+
+func basePath() string {
+ pwd, err := os.Getwd()
+ if err != nil {
+ log.Fatalln(err.Error())
+ }
+ return filepath.Base(pwd)
+}