diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-17 15:22:14 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-30 18:35:22 +1000 |
commit | 7b05dacb98b1baa72f61e7decf7d23e8bd241393 (patch) | |
tree | 4887cdcc05f6c2963c627d33b4f8ff493eadc8e2 /pkg/gui | |
parent | b73efb2c22bfe587b58210da8f130469430066ed (diff) |
Properly render worktrees in files panel
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/presentation/files.go | 6 | ||||
-rw-r--r-- | pkg/gui/presentation/icons/file_icons.go | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/pkg/gui/presentation/files.go b/pkg/gui/presentation/files.go index 5180264e3..0921878cb 100644 --- a/pkg/gui/presentation/files.go +++ b/pkg/gui/presentation/files.go @@ -155,10 +155,11 @@ func getFileLine(hasUnstagedChanges bool, hasStagedChanges bool, name string, di } isSubmodule := file != nil && file.IsSubmodule(submoduleConfigs) + isLinkedWorktree := file != nil && file.IsWorktree isDirectory := file == nil if icons.IsIconEnabled() { - output += restColor.Sprintf("%s ", icons.IconForFile(name, isSubmodule, isDirectory)) + output += restColor.Sprintf("%s ", icons.IconForFile(name, isSubmodule, isLinkedWorktree, isDirectory)) } output += restColor.Sprint(utils.EscapeSpecialChars(name)) @@ -193,10 +194,11 @@ func getCommitFileLine(name string, diffName string, commitFile *models.CommitFi } isSubmodule := false + isLinkedWorktree := false isDirectory := commitFile == nil if icons.IsIconEnabled() { - output += colour.Sprintf("%s ", icons.IconForFile(name, isSubmodule, isDirectory)) + output += colour.Sprintf("%s ", icons.IconForFile(name, isSubmodule, isLinkedWorktree, isDirectory)) } output += colour.Sprint(name) diff --git a/pkg/gui/presentation/icons/file_icons.go b/pkg/gui/presentation/icons/file_icons.go index b4ff58919..8d32bb36a 100644 --- a/pkg/gui/presentation/icons/file_icons.go +++ b/pkg/gui/presentation/icons/file_icons.go @@ -323,7 +323,7 @@ func patchFileIconsForNerdFontsV2() { extIconMap[".vue"] = "\ufd42" // ﵂ } -func IconForFile(name string, isSubmodule bool, isDirectory bool) string { +func IconForFile(name string, isSubmodule bool, isLinkedWorktree bool, isDirectory bool) string { base := filepath.Base(name) if icon, ok := nameIconMap[base]; ok { return icon @@ -336,6 +336,8 @@ func IconForFile(name string, isSubmodule bool, isDirectory bool) string { if isSubmodule { return DEFAULT_SUBMODULE_ICON + } else if isLinkedWorktree { + return LINKED_WORKTREE_ICON } else if isDirectory { return DEFAULT_DIRECTORY_ICON } |