diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-11-15 10:45:55 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2021-03-30 21:57:00 +1100 |
commit | 45939171ea6537562270975348fe2919c9c60b95 (patch) | |
tree | b9c4138c32b54577a3d6f17acdc0f4132c2ebc9e /pkg/gui/presentation | |
parent | 049849264e561d2867d0d94940b1f66dcac77e6b (diff) |
WIP
start moving to new interface
WIP
WIP
WIP
WIP
WIP
Diffstat (limited to 'pkg/gui/presentation')
-rw-r--r-- | pkg/gui/presentation/files.go | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/pkg/gui/presentation/files.go b/pkg/gui/presentation/files.go index 4adb78ea2..d64437b2c 100644 --- a/pkg/gui/presentation/files.go +++ b/pkg/gui/presentation/files.go @@ -11,41 +11,45 @@ func GetFileListDisplayStrings(files []*models.File, diffName string, submoduleC lines := make([][]string, len(files)) for i := range files { - diffed := files[i].Name == diffName - lines[i] = getFileDisplayStrings(files[i], diffed, submoduleConfigs) + lines[i] = getFileDisplayStrings(files[i], diffName, submoduleConfigs) } return lines } // getFileDisplayStrings returns the display string of branch -func getFileDisplayStrings(f *models.File, diffed bool, submoduleConfigs []*models.SubmoduleConfig) []string { +func getFileDisplayStrings(f *models.File, diffName string, submoduleConfigs []*models.SubmoduleConfig) []string { + output := GetStatusNodeLine(f.HasUnstagedChanges, f.ShortStatus, f.Name, diffName, submoduleConfigs, f) + + return []string{output} +} + +func GetStatusNodeLine(hasUnstagedChanges bool, shortStatus string, name string, diffName string, submoduleConfigs []*models.SubmoduleConfig, file *models.File) string { // potentially inefficient to be instantiating these color // objects with each render red := color.New(color.FgRed) green := color.New(color.FgGreen) diffColor := color.New(theme.DiffTerminalColor) - if !f.Tracked && !f.HasStagedChanges { - return []string{red.Sprint(f.DisplayString)} - } var restColor *color.Color - if diffed { + if name == diffName { restColor = diffColor - } else if f.HasUnstagedChanges { + } else if hasUnstagedChanges { restColor = red } else { restColor = green } // this is just making things look nice when the background attribute is 'reverse' - firstChar := f.DisplayString[0:1] + firstChar := shortStatus[0:1] firstCharCl := green - if firstChar == " " { + if firstChar == "?" { + firstCharCl = red + } else if firstChar == " " { firstCharCl = restColor } - secondChar := f.DisplayString[1:2] + secondChar := shortStatus[1:2] secondCharCl := red if secondChar == " " { secondCharCl = restColor @@ -53,11 +57,11 @@ func getFileDisplayStrings(f *models.File, diffed bool, submoduleConfigs []*mode output := firstCharCl.Sprint(firstChar) output += secondCharCl.Sprint(secondChar) - output += restColor.Sprintf(" %s", f.Name) + output += restColor.Sprintf(" %s", name) - if f.IsSubmodule(submoduleConfigs) { + if file != nil && file.IsSubmodule(submoduleConfigs) { output += utils.ColoredString(" (submodule)", theme.DefaultTextColor) } - return []string{output} + return output } |