Sfoglia il codice sorgente

fix: better diagnostics visual

adamdottv 9 mesi fa
parent
commit
7bc542abff
2 ha cambiato i file con 35 aggiunte e 43 eliminazioni
  1. 30 36
      internal/tui/components/core/status.go
  2. 5 7
      internal/tui/styles/icons.go

+ 30 - 36
internal/tui/components/core/status.go

@@ -128,9 +128,8 @@ func (m statusCmp) View() string {
 		status += tokensStyle
 		status += tokensStyle
 	}
 	}
 
 
-	diagnostics := styles.Padded().
-		Background(t.BackgroundDarker()).
-		Render(m.projectDiagnostics())
+	diagnostics :=
+		styles.Padded().Background(t.BackgroundDarker()).Render(m.projectDiagnostics())
 
 
 	model := m.model()
 	model := m.model()
 
 
@@ -190,7 +189,6 @@ func (m *statusCmp) projectDiagnostics() string {
 	// If any server is initializing, show that status
 	// If any server is initializing, show that status
 	if initializing {
 	if initializing {
 		return lipgloss.NewStyle().
 		return lipgloss.NewStyle().
-			Background(t.BackgroundDarker()).
 			Foreground(t.Warning()).
 			Foreground(t.Warning()).
 			Render(fmt.Sprintf("%s Initializing LSP...", styles.SpinnerIcon))
 			Render(fmt.Sprintf("%s Initializing LSP...", styles.SpinnerIcon))
 	}
 	}
@@ -216,40 +214,36 @@ func (m *statusCmp) projectDiagnostics() string {
 		}
 		}
 	}
 	}
 
 
-	if len(errorDiagnostics) == 0 &&
-		len(warnDiagnostics) == 0 &&
-		len(hintDiagnostics) == 0 &&
-		len(infoDiagnostics) == 0 {
-		return "No diagnostics"
-	}
-
 	diagnostics := []string{}
 	diagnostics := []string{}
-	if len(errorDiagnostics) > 0 {
-		errStr := lipgloss.NewStyle().
-			Foreground(t.Error()).
-			Render(fmt.Sprintf("%s %d", styles.ErrorIcon, len(errorDiagnostics)))
-		diagnostics = append(diagnostics, errStr)
-	}
-	if len(warnDiagnostics) > 0 {
-		warnStr := lipgloss.NewStyle().
-			Foreground(t.Warning()).
-			Render(fmt.Sprintf("%s %d", styles.WarningIcon, len(warnDiagnostics)))
-		diagnostics = append(diagnostics, warnStr)
-	}
-	if len(hintDiagnostics) > 0 {
-		hintStr := lipgloss.NewStyle().
-			Foreground(t.Text()).
-			Render(fmt.Sprintf("%s %d", styles.HintIcon, len(hintDiagnostics)))
-		diagnostics = append(diagnostics, hintStr)
-	}
-	if len(infoDiagnostics) > 0 {
-		infoStr := lipgloss.NewStyle().
-			Foreground(t.Info()).
-			Render(fmt.Sprintf("%s %d", styles.InfoIcon, len(infoDiagnostics)))
-		diagnostics = append(diagnostics, infoStr)
-	}
 
 
-	return strings.Join(diagnostics, " ")
+	errStr := lipgloss.NewStyle().
+		Background(t.BackgroundDarker()).
+		Foreground(t.Error()).
+		Render(fmt.Sprintf("%s %d", styles.ErrorIcon, len(errorDiagnostics)))
+	diagnostics = append(diagnostics, errStr)
+
+	warnStr := lipgloss.NewStyle().
+		Background(t.BackgroundDarker()).
+		Foreground(t.Warning()).
+		Render(fmt.Sprintf("%s %d", styles.WarningIcon, len(warnDiagnostics)))
+	diagnostics = append(diagnostics, warnStr)
+
+	infoStr := lipgloss.NewStyle().
+		Background(t.BackgroundDarker()).
+		Foreground(t.Info()).
+		Render(fmt.Sprintf("%s %d", styles.InfoIcon, len(infoDiagnostics)))
+	diagnostics = append(diagnostics, infoStr)
+
+	hintStr := lipgloss.NewStyle().
+		Background(t.BackgroundDarker()).
+		Foreground(t.Text()).
+		Render(fmt.Sprintf("%s %d", styles.HintIcon, len(hintDiagnostics)))
+	diagnostics = append(diagnostics, hintStr)
+
+	return styles.ForceReplaceBackgroundWithLipgloss(
+		strings.Join(diagnostics, " "),
+		t.BackgroundDarker(),
+	)
 }
 }
 
 
 func (m statusCmp) model() string {
 func (m statusCmp) model() string {

+ 5 - 7
internal/tui/styles/icons.go

@@ -3,11 +3,9 @@ package styles
 const (
 const (
 	OpenCodeIcon string = "⌬"
 	OpenCodeIcon string = "⌬"
 
 
-	CheckIcon   string = "✓"
-	ErrorIcon   string = "✖"
-	WarningIcon string = "⚠"
-	InfoIcon    string = "ℹ"
-	HintIcon    string = "➤"
-	SpinnerIcon string = "..."
-	LoadingIcon string = "⟳"
+	ErrorIcon   string = "ⓧ"
+	WarningIcon string = "ⓦ"
+	InfoIcon    string = "ⓘ"
+	HintIcon    string = "ⓗ"
+	SpinnerIcon string = "⟳"
 )
 )