diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-09 07:27:51 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-09 07:27:51 +0200 |
| commit | 3479c445f81cd3df9f0eda097f5b7503388dfc5d (patch) | |
| tree | 2a39382f3add77ce786d75c5896ab9cd6876d57a | |
| parent | 70073d81e1e384f827a2ab34c27723a2862bbb84 (diff) | |
tui: remove flame selected underline
| -rw-r--r-- | internal/tui/flamegraph/renderer.go | 2 | ||||
| -rw-r--r-- | internal/tui/flamegraph/renderer_test.go | 22 |
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", |
