Archived
Show a muted "in sync" for submodules without issues
An empty status cell could be read as missing data. The muted word confirms the check ran without drawing attention. The word is defined once in the theme and shared with the detail pane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
27f0c0b5d2
commit
6e1236d495
@@ -74,7 +74,7 @@ func (m Model) lines(s *submodule.Submodule) []string {
|
||||
out = append(out, t.LevelStyle(is.Level, lipgloss.NewStyle()).Width(labelWidth).Render(theme.IssueWord(is.Kind))+text.Render(is.Detail))
|
||||
}
|
||||
if len(issues) == 0 {
|
||||
out = append(out, label("in sync")+muted.Render("nothing to do"))
|
||||
out = append(out, label(theme.InSync)+muted.Render("nothing to do"))
|
||||
}
|
||||
if st.PinStaged {
|
||||
out = append(out, theme.Fg(t.Info).Width(labelWidth).Render("staged")+text.Render("pin change staged, not committed"))
|
||||
|
||||
@@ -9,6 +9,9 @@ import (
|
||||
"submarine/internal/submodule"
|
||||
)
|
||||
|
||||
// InSync is the word for a submodule without issues.
|
||||
const InSync = "in sync"
|
||||
|
||||
// IssueWord is the short label for an issue kind shown in the tree.
|
||||
func IssueWord(k submodule.IssueKind) string {
|
||||
switch k {
|
||||
|
||||
@@ -398,7 +398,8 @@ func (m Model) nodeLine(r row, nameColW, refW int) string {
|
||||
name := ansi.Truncate(s.Name, max(nameW-len(count), 1), "…")
|
||||
nameCell := seg(textColor, name) + seg(t.Muted, count) + pad(nameW-lipgloss.Width(name+count))
|
||||
|
||||
// status: the most severe issue as a word, "+n" for further issues
|
||||
// status: the most severe issue as a word, "+n" for further issues;
|
||||
// a muted "in sync" without issues, so an empty cell never looks broken
|
||||
var status string
|
||||
switch {
|
||||
case s.Err != nil:
|
||||
@@ -410,6 +411,8 @@ func (m Model) nodeLine(r row, nameColW, refW int) string {
|
||||
if len(issues) > 1 {
|
||||
status += seg(t.Muted, fmt.Sprintf(" +%d", len(issues)-1))
|
||||
}
|
||||
default:
|
||||
status = seg(t.Muted, theme.InSync)
|
||||
}
|
||||
if k, worst := s.HiddenIssues(); collapsed && k > 0 {
|
||||
if status != "" {
|
||||
|
||||
Reference in New Issue
Block a user