summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-07-17 15:22:14 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-07-30 18:35:22 +1000
commit7b05dacb98b1baa72f61e7decf7d23e8bd241393 (patch)
tree4887cdcc05f6c2963c627d33b4f8ff493eadc8e2 /pkg/gui
parentb73efb2c22bfe587b58210da8f130469430066ed (diff)
Properly render worktrees in files panel
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/presentation/files.go6
-rw-r--r--pkg/gui/presentation/icons/file_icons.go4
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
}