mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-30 03:23:08 +03:00
Style missing worktree as red and display better error when trying to switch to them
Use a broken link icon for missing worktrees
This commit is contained in:
committed by
Jesse Duffield
parent
9a79154d05
commit
c679fd1924
@ -638,16 +638,13 @@ func (self *RefreshHelper) refreshStatus() {
|
||||
}
|
||||
|
||||
name := presentation.GetBranchTextStyle(currentBranch.Name).Sprint(currentBranch.Name)
|
||||
|
||||
var repoName string
|
||||
worktreeName := self.worktreeHelper.GetCurrentWorktreeName()
|
||||
if len(worktreeName) > 0 {
|
||||
worktreeName = fmt.Sprintf("[%s]", worktreeName)
|
||||
repoName = self.worktreeHelper.GetMainWorktreeName()
|
||||
} else {
|
||||
repoName = utils.GetCurrentRepoName()
|
||||
repoName = utils.GetCurrentRepoName()
|
||||
mainWorktreeName := self.worktreeHelper.GetMainWorktreeName()
|
||||
if repoName != mainWorktreeName {
|
||||
repoName = fmt.Sprintf("%s(%s)", mainWorktreeName, style.FgBlue.Sprint(repoName))
|
||||
}
|
||||
status += fmt.Sprintf("%s%s → %s ", repoName, worktreeName, name)
|
||||
status += fmt.Sprintf("%s → %s ", repoName, name)
|
||||
|
||||
self.c.SetViewContent(self.c.Views().Status, status)
|
||||
}
|
||||
|
@ -138,6 +138,10 @@ func (self *ReposHelper) CreateRecentReposMenu() error {
|
||||
}
|
||||
|
||||
func (self *ReposHelper) DispatchSwitchToRepo(path string, reuse bool) error {
|
||||
return self.DispatchSwitchTo(path, reuse, self.c.Tr.ErrRepositoryMovedOrDeleted)
|
||||
}
|
||||
|
||||
func (self *ReposHelper) DispatchSwitchTo(path string, reuse bool, errMsg string) error {
|
||||
env.UnsetGitDirEnvs()
|
||||
originalPath, err := os.Getwd()
|
||||
if err != nil {
|
||||
@ -146,7 +150,7 @@ func (self *ReposHelper) DispatchSwitchToRepo(path string, reuse bool) error {
|
||||
|
||||
if err := os.Chdir(path); err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
return self.c.ErrorMsg(self.c.Tr.ErrRepositoryMovedOrDeleted)
|
||||
return self.c.ErrorMsg(errMsg)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
@ -1,9 +1,5 @@
|
||||
package helpers
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
type IWorktreeHelper interface {
|
||||
GetMainWorktreeName() string
|
||||
GetCurrentWorktreeName() string
|
||||
@ -21,23 +17,23 @@ func NewWorktreeHelper(c *HelperCommon) *WorktreeHelper {
|
||||
|
||||
func (self *WorktreeHelper) GetMainWorktreeName() string {
|
||||
for _, worktree := range self.c.Model().Worktrees {
|
||||
if worktree.Main {
|
||||
return filepath.Base(worktree.Path)
|
||||
if worktree.Main() {
|
||||
return worktree.Name()
|
||||
}
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (self *WorktreeHelper) GetCurrentWorktreeName() string {
|
||||
for _, worktree := range self.c.Model().Worktrees {
|
||||
if worktree.Current {
|
||||
if worktree.Main {
|
||||
return ""
|
||||
}
|
||||
return worktree.Name
|
||||
}
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
//func (self *WorktreeHelper) GetCurrentWorktreeName() string {
|
||||
// for _, worktree := range self.c.Model().Worktrees {
|
||||
// if worktree.Current() {
|
||||
// if worktree.Main() {
|
||||
// return ""
|
||||
// }
|
||||
// return worktree.Name()
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return ""
|
||||
//}
|
||||
|
Reference in New Issue
Block a user