summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-09 07:27:51 +0200
committerPaul Buetow <paul@buetow.org>2026-03-09 07:27:51 +0200
commit3479c445f81cd3df9f0eda097f5b7503388dfc5d (patch)
tree2a39382f3add77ce786d75c5896ab9cd6876d57a
parent70073d81e1e384f827a2ab34c27723a2862bbb84 (diff)
tui: remove flame selected underline
-rw-r--r--internal/tui/flamegraph/renderer.go2
-rw-r--r--internal/tui/flamegraph/renderer_test.go22
2 files changed, 23 insertions, 1 deletions
diff --git a/internal/tui/flamegraph/renderer.go b/internal/tui/flamegraph/renderer.go
index e4c4043..80390fe 100644
--- a/internal/tui/flamegraph/renderer.go
+++ b/internal/tui/flamegraph/renderer.go
@@ -476,7 +476,7 @@ func styleForFrame(idx int, frame tuiFrame, selectedPath string, subtreeSet, mat
selectedBg = lipgloss.Color("129")
selectedFg = lipgloss.Color("15")
}
- return base.Background(selectedBg).Foreground(selectedFg).Bold(true).Underline(true)
+ return base.Background(selectedBg).Foreground(selectedFg).Bold(true)
}
if isMatch {
diff --git a/internal/tui/flamegraph/renderer_test.go b/internal/tui/flamegraph/renderer_test.go
index c546200..7adc82d 100644
--- a/internal/tui/flamegraph/renderer_test.go
+++ b/internal/tui/flamegraph/renderer_test.go
@@ -212,6 +212,28 @@ func TestFrameLabelAddsSelectionAndMatchMarkers(t *testing.T) {
}
}
+func TestSelectedFrameStyleDoesNotUnderline(t *testing.T) {
+ style := styleForFrame(
+ 1,
+ tuiFrame{
+ Name: "child",
+ Path: "root" + pathSeparator + "child",
+ Fill: color.RGBA{R: 120, G: 80, B: 160, A: 255},
+ },
+ "root"+pathSeparator+"child",
+ map[int]bool{1: true},
+ nil,
+ 1,
+ true,
+ false,
+ false,
+ )
+ rendered := style.Render(" child ")
+ if strings.Contains(rendered, "\x1b[4m") || strings.Contains(rendered, "[4;") || strings.Contains(rendered, ";4m") {
+ t.Fatalf("expected selected flame frame style without underline, got %q", rendered)
+ }
+}
+
func TestRenderTerminalViewShowsPersistentFilterContext(t *testing.T) {
snapshot := &snapshotNode{
Name: "root",