From 17b8c95b948d4fe2d38cac4f80ffa8fb0a750d4f Mon Sep 17 00:00:00 2001 From: blasty Date: Sat, 11 Jul 2026 22:58:52 +0200 Subject: disasm: render opcode bytes (toggle 'o'), padded to widest insn Fetch per-instruction opcode bytes alongside the disasm listing and show them in a column between the address and the mnemonic. Instruction length comes from consecutive addresses (variable-length safe: x86 movabs shows its full 10 bytes); the block over-fetches one instruction for the last line's boundary, falling back to the function end for the final insn. The column pads to the widest instruction across the whole function: _fetch_block tracks a running max, and on load a background scan_bytes() settles a stable width so padding doesn't jump as blocks stream in. _op_field is shared by the rendered strip, _line_plain, and search _fmt so cursor/match offsets stay aligned. 'o' toggles the column. --- uv.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'uv.lock') diff --git a/uv.lock b/uv.lock index 19d24a7..91414b5 100644 --- a/uv.lock +++ b/uv.lock @@ -21,13 +21,15 @@ dev = [ { name = "pytest" }, ] tui = [ + { name = "pygments" }, { name = "textual" }, ] [package.metadata] requires-dist = [ + { name = "pygments", marker = "extra == 'tui'", specifier = ">=2" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=8" }, - { name = "textual", marker = "extra == 'tui'", specifier = ">=0.60" }, + { name = "textual", marker = "extra == 'tui'", specifier = ">=8" }, ] provides-extras = ["tui", "dev"] -- cgit v1.3.1-sl0p