From d815734278dcdcad75cc593f1ec684649a069679 Mon Sep 17 00:00:00 2001 From: blasty Date: Thu, 9 Jul 2026 16:59:09 +0200 Subject: decompiler: line-number gutter Fixed left gutter with right-aligned line numbers (dim; brighter on the cursor line); the code scrolls horizontally past the gutter while the numbers stay put. Column cursor, search-column, and mouse mapping account for the gutter offset (_col_offset); virtual width includes it. pilot suite 56/56. --- tests/test_tui.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/test_tui.py b/tests/test_tui.py index 494ea4a..9a1c650 100644 --- a/tests/test_tui.py +++ b/tests/test_tui.py @@ -173,6 +173,13 @@ async def run(db): timeout=25) check("overlay clears when the decompile finishes", not dec.loading and dec._cover_widget is None) + # Line-number gutter. + dec.scroll_to(0, 0, animate=False) + await pilot.pause(0.05) + row0 = "".join(seg.text for seg in dec.render_line(0)) + check("pseudocode has a numbered gutter (line 1 first)", + dec._gutter > 0 and row0[:dec._gutter].strip() == "1", + f"gutter={dec._gutter} row0={row0[:10]!r}") await pilot.press("tab") # back to disasm for the rest of the tests await wait_until(pilot, lambda: app._active == "disasm", timeout=10) -- cgit v1.3.1-sl0p