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:
Simon Franken
2026-10-21 16:18:17 +02:00
co-authored by Claude Opus 5.5
parent 27f0c0b5d2
commit 6e1236d495
5 changed files with 14 additions and 5 deletions
+4 -1
View File
@@ -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 != "" {