summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-27 08:34:44 +0300
committerPaul Buetow <paul@buetow.org>2026-05-27 08:34:44 +0300
commit6f574882eed60fe48fc5bbeeea97f4efb2521427 (patch)
tree65d1aedff185894ad56554b56402d7fe1002261f /internal
parent67e08ef669ca88f6df799a52924511b626580b11 (diff)
cp: remove dead flamegraph helpers and dead style param plumbing
Diffstat (limited to 'internal')
-rw-r--r--internal/tui/flamegraph/model.go43
-rw-r--r--internal/tui/flamegraph/model_test.go2
-rw-r--r--internal/tui/flamegraph/renderer.go34
-rw-r--r--internal/tui/flamegraph/renderer_test.go9
4 files changed, 12 insertions, 76 deletions
diff --git a/internal/tui/flamegraph/model.go b/internal/tui/flamegraph/model.go
index f65925a..bb1f5af 100644
--- a/internal/tui/flamegraph/model.go
+++ b/internal/tui/flamegraph/model.go
@@ -798,12 +798,6 @@ func (m *Model) applyTargetFrames(targetFrames []tuiFrame, ancestry frameAncestr
m.FrameAnimator.applyTargetFrames(targetFrames, ancestry, prevPath, animate, &m.SelectionManager, &m.SearchController, m.height)
}
-// restoreSelectionByPath delegates to SelectionManager to restore the selection
-// after a frame layout swap.
-func (m *Model) restoreSelectionByPath(path string) {
- m.SelectionManager.restoreByPath(m.frames, path)
-}
-
func (m Model) frameIndexByPath(path string) int {
for idx, frame := range m.frames {
if frame.Path == path {
@@ -887,22 +881,6 @@ func (m Model) currentRootPath() string {
return m.ZoomNavigator.currentRootPath(m.frames)
}
-// filterActive reports whether a search filter is applied.
-func (m Model) filterActive() bool {
- return filterActive(m.searchQuery)
-}
-
-// navigableFrameSet returns the filter-visible set when a filter is active, else nil.
-func (m Model) navigableFrameSet() map[int]bool {
- return navigableSet(m.searchQuery, m.filterVisible)
-}
-
-// framesAtDepth returns frame indices at the given depth filtered by the
-// current search.
-func (m Model) framesAtDepth(depth int) []int {
- return framesAtDepthFiltered(m.frames, depth, m.navigableFrameSet())
-}
-
// frameNavigable reports whether a frame can be selected under the current filter.
func (m Model) frameNavigable(idx int) bool {
return frameNavigable(idx, m.frames, m.searchQuery, m.filterVisible)
@@ -930,27 +908,6 @@ func (m *Model) recordKeyDebug(msg tea.KeyPressMsg, handled, moved bool) {
m.lastKeyDebug = fmt.Sprintf("dbg frames=%d idx=%d key=%q code=%d handled=%t moved=%t sel=%s", len(m.frames), selIdx, keyID, msg.Code, handled, moved, sel)
}
-// moveTraversal delegates depth-then-column traversal to SelectionManager.
-func (m *Model) moveTraversal(delta int) {
- m.SelectionManager.moveTraversal(m.frames, delta, m.searchQuery, m.filterVisible)
-}
-
-// visibleTraversalOrder delegates to SelectionManager for the sorted traversal order.
-func (m Model) visibleTraversalOrder() []int {
- return visibleTraversalOrder(m.frames, m.searchQuery, m.filterVisible)
-}
-
-// visibleRowOffset delegates row offset calculation to SelectionManager.
-func (m Model) visibleRowOffset() int {
- return visibleRowOffset(m.frames, m.height, m.searchQuery, m.filterVisible)
-}
-
-// ensureSelectionVisible delegates to SelectionManager to adjust the selection
-// so it falls within the visible rendered rows.
-func (m *Model) ensureSelectionVisible() {
- m.SelectionManager.ensureVisible(m.frames, m.height, m.searchQuery, m.filterVisible)
-}
-
func (m *Model) handleMouseClick(msg tea.MouseClickMsg) bool {
if msg.Button != tea.MouseLeft {
return false
diff --git a/internal/tui/flamegraph/model_test.go b/internal/tui/flamegraph/model_test.go
index 5445896..3efe589 100644
--- a/internal/tui/flamegraph/model_test.go
+++ b/internal/tui/flamegraph/model_test.go
@@ -1278,7 +1278,7 @@ func TestRebuildKeepsSelectionOnVisibleRowsWhenTruncated(t *testing.T) {
if len(m.frames) == 0 {
t.Fatalf("expected rebuilt frames")
}
- rowOffset := m.visibleRowOffset()
+ rowOffset := visibleRowOffset(m.frames, m.height, m.searchQuery, m.filterVisible)
if m.frames[m.selectedIdx].Row < rowOffset {
t.Fatalf("expected selected frame row %d to be visible (offset=%d)", m.frames[m.selectedIdx].Row, rowOffset)
}
diff --git a/internal/tui/flamegraph/renderer.go b/internal/tui/flamegraph/renderer.go
index 5edf527..e88fec3 100644
--- a/internal/tui/flamegraph/renderer.go
+++ b/internal/tui/flamegraph/renderer.go
@@ -296,7 +296,6 @@ type renderRowsContext struct {
selectedIdx int
heightMetricActive bool
isDark bool
- filterActive bool
}
// computeRenderParams derives the row-layout parameters for a given frame set
@@ -549,7 +548,6 @@ func RenderTerminalView(ctx RenderContext) string {
selectedIdx: selectedIdx,
heightMetricActive: heightMetricActive,
isDark: isDark,
- filterActive: filterIsActive,
})
return renderViewRows(toolbar, status, rows, width)
}
@@ -587,7 +585,6 @@ func buildRenderRows(ctx renderRowsContext) []string {
selectedIdx := ctx.selectedIdx
heightMetricActive := ctx.heightMetricActive
isDark := ctx.isDark
- filterActive := ctx.filterActive
rowsByDepth := make(map[int][]indexedFrame)
for idx, frame := range frames {
@@ -611,13 +608,13 @@ func buildRenderRows(ctx renderRowsContext) []string {
frameHeights := leafFrameHeights(framesAtRow, leafBarHeight)
for h := leafBarHeight - 1; h >= 0; h-- {
showLabels := h == 0
- rows = append(rows, renderLeafRowBand(framesAtRow, frameHeights, h, width, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, filterActive, showLabels))
+ rows = append(rows, renderLeafRowBand(framesAtRow, frameHeights, h, width, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, showLabels))
}
continue
}
for repeat := 0; repeat < barHeight; repeat++ {
showLabels := repeat == barHeight/2
- rows = append(rows, renderRow(framesAtRow, width, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, filterActive, showLabels))
+ rows = append(rows, renderRow(framesAtRow, width, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, showLabels))
}
}
@@ -662,17 +659,17 @@ func leafFrameHeights(frames []indexedFrame, leafBarHeight int) map[int]int {
return heights
}
-func renderLeafRowBand(frames []indexedFrame, frameHeights map[int]int, band, width int, selectedPath string, subtreeSet, matchSet map[int]bool, selectedIdx int, isDark, filterActive, showLabels bool) string {
+func renderLeafRowBand(frames []indexedFrame, frameHeights map[int]int, band, width int, selectedPath string, subtreeSet, matchSet map[int]bool, selectedIdx int, isDark, showLabels bool) string {
visible := make([]indexedFrame, 0, len(frames))
for _, item := range frames {
if frameHeights[item.idx] > band {
visible = append(visible, item)
}
}
- return renderRow(visible, width, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, filterActive, showLabels)
+ return renderRow(visible, width, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, showLabels)
}
-func renderRow(frames []indexedFrame, width int, selectedPath string, subtreeSet, matchSet map[int]bool, selectedIdx int, isDark, filterActive, showLabels bool) string {
+func renderRow(frames []indexedFrame, width int, selectedPath string, subtreeSet, matchSet map[int]bool, selectedIdx int, isDark, showLabels bool) string {
if len(frames) == 0 {
return strings.Repeat(" ", width)
}
@@ -701,7 +698,7 @@ func renderRow(frames []indexedFrame, width int, selectedPath string, subtreeSet
if showLabels {
label = frameLabel(frame.Name, cellWidth, item.idx == selectedIdx, matchSet != nil && matchSet[item.idx])
}
- style := styleForFrame(item.idx, frame, selectedPath, subtreeSet, matchSet, selectedIdx, isDark, filterActive)
+ style := styleForFrame(item.idx, frame, selectedPath, subtreeSet, matchSet, selectedIdx, isDark)
cell := style.Render(label)
b.WriteString(cell)
cursor = frame.Col + cellWidth
@@ -780,7 +777,7 @@ func computeFilterVisibleSetInto(frames []tuiFrame, matchSet, visible map[int]bo
return visible
}
-func styleForFrame(idx int, frame tuiFrame, selectedPath string, subtreeSet, matchSet map[int]bool, selectedIdx int, isDark, filterActive bool) lipgloss.Style {
+func styleForFrame(idx int, frame tuiFrame, selectedPath string, subtreeSet, matchSet map[int]bool, selectedIdx int, isDark bool) lipgloss.Style {
base := lipgloss.NewStyle().
Foreground(common.ColorBackground).
Background(frame.Fill)
@@ -797,10 +794,6 @@ func styleForFrame(idx int, frame tuiFrame, selectedPath string, subtreeSet, mat
if isSelected {
selectedBg := lipgloss.Color("129")
selectedFg := lipgloss.Color("15")
- if !isDark {
- selectedBg = lipgloss.Color("129")
- selectedFg = lipgloss.Color("15")
- }
return base.Background(selectedBg).Foreground(selectedFg).Bold(true)
}
@@ -812,10 +805,6 @@ func styleForFrame(idx int, frame tuiFrame, selectedPath string, subtreeSet, mat
return style.Faint(true)
}
- if filterActive {
- return base.Background(common.ColorPanel).Foreground(common.ColorMuted).Faint(true)
- }
-
if inSubtree {
if frameRelation(frame.Path, selectedPath) == relationAncestor {
return base.BorderLeft(true).BorderForeground(common.ColorAccent)
@@ -877,10 +866,6 @@ func frameRelation(path, selectedPath string) relation {
return relationNone
}
-func maxFrameRow(frames []tuiFrame) int {
- return maxFrameRowForSet(frames, nil)
-}
-
func maxFrameRowForSet(frames []tuiFrame, include map[int]bool) int {
maxRow := 0
for idx, frame := range frames {
@@ -924,11 +909,6 @@ func normalizeSelectedIndex(frames []tuiFrame, selectedIdx int, include map[int]
return 0
}
-func filterSampleCoverage(frames []tuiFrame, matchSet map[int]bool, totalBase uint64) float64 {
- coveredTotal, rootTotal := filterCoverageTotals(frames, matchSet, totalBase)
- return percentOfTotal(coveredTotal, rootTotal)
-}
-
func computeBarHeight(availableRows, depthRows, maxHeight int) int {
if availableRows <= 0 || depthRows <= 0 {
return 1
diff --git a/internal/tui/flamegraph/renderer_test.go b/internal/tui/flamegraph/renderer_test.go
index 8626c39..b078532 100644
--- a/internal/tui/flamegraph/renderer_test.go
+++ b/internal/tui/flamegraph/renderer_test.go
@@ -278,7 +278,6 @@ func TestSelectedFrameStyleDoesNotUnderline(t *testing.T) {
nil,
1,
true,
- false,
)
rendered := style.Render(" child ")
if strings.Contains(rendered, "\x1b[4m") || strings.Contains(rendered, "[4;") || strings.Contains(rendered, ";4m") {
@@ -407,7 +406,8 @@ func TestFilterSampleCoverageAvoidsDoubleCountingNestedMatches(t *testing.T) {
1: true, // A
2: true, // A1 (nested under A)
}
- if got := filterSampleCoverage(frames, matchSet, 100); got != 60 {
+ coveredTotal, rootTotal := filterCoverageTotals(frames, matchSet, 100)
+ if got := percentOfTotal(coveredTotal, rootTotal); got != 60 {
t.Fatalf("expected nested matches to count once at 60%%, got %.1f%%", got)
}
}
@@ -513,7 +513,7 @@ func TestRenderLeafRowBandFiltersFramesByBand(t *testing.T) {
1: 2,
}
- topBand := renderLeafRowBand(frames, heights, 3, 10, "root"+pathSeparator+"A", nil, nil, 0, true, false, true)
+ topBand := renderLeafRowBand(frames, heights, 3, 10, "root"+pathSeparator+"A", nil, nil, 0, true, true)
if !strings.Contains(topBand, "A") {
t.Fatalf("expected top band to render taller frame A, got %q", topBand)
}
@@ -521,7 +521,7 @@ func TestRenderLeafRowBandFiltersFramesByBand(t *testing.T) {
t.Fatalf("expected top band to hide shorter frame B, got %q", topBand)
}
- lowerBand := renderLeafRowBand(frames, heights, 1, 10, "root"+pathSeparator+"A", nil, nil, 0, true, false, true)
+ lowerBand := renderLeafRowBand(frames, heights, 1, 10, "root"+pathSeparator+"A", nil, nil, 0, true, true)
if !strings.Contains(lowerBand, "A") || !strings.Contains(lowerBand, "B") {
t.Fatalf("expected lower band to render both frames, got %q", lowerBand)
}
@@ -548,7 +548,6 @@ func TestBuildRenderRowsHeightMetricUsesLeafBandsAndViewportRows(t *testing.T) {
selectedIdx: 0,
heightMetricActive: true, // heightMetricActive
isDark: true, // isDark
- filterActive: false, // filterActive
})
if got, want := len(rows), 5; got != want {