aboutsummaryrefslogtreecommitdiffstats
path: root/server/patch_server.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-26 12:43:04 +0200
committerblasty <blasty@local>2026-07-26 12:43:04 +0200
commitbc283b66b764da6c38384e30eb834e105db66595 (patch)
tree280760169bb2b9b57f689ab2d1880f1a2125044a /server/patch_server.py
parentapp: one way to preserve view state across a model rebuild (ViewAnchor) (diff)
downloadida-tui-bc283b66b764da6c38384e30eb834e105db66595.tar.gz
ida-tui-bc283b66b764da6c38384e30eb834e105db66595.tar.xz
ida-tui-bc283b66b764da6c38384e30eb834e105db66595.zip
asm highlighting: park the work with its findings (not merged)
IDA already classifies every disassembly token for every processor it supports — generate_disasm_line emits \x01<tag>text\x02<tag> and the tag says what the text IS — so this needs no lexer at all, and certainly not a pygments asm lexer, which would be a worse guess and need one dialect per architecture. Working implementation is in docs/wip-asm-spans.patch and verified on echo: "lea rcx, function; \"usage\"" tokenises as insn/text/reg/punct/text/name/cmt, with sane coverage over 400 rows. Not merged: it breaks listing_view's "undefining a data head yields an unknown run" (reports kind=data). Bisected to this change on a fresh database — 10/0 with it stashed, 9/1 with it applied. The span code doesn't touch `kind`, so the cause is not yet understood, and I would rather park a working-but-unexplained change than merge one that makes a real check lie. TODO records the two non-obvious findings so the next attempt doesn't repeat them: the constants are SCOLOR_DATNAME/SCOLOR_CODNAME (no SCOLOR_DNAME, and a wrong guess fails silently as plain body text), and spans must be whitespace-collapsed by walking characters, not per span, because a run of spaces straddles span boundaries.
Diffstat (limited to 'server/patch_server.py')
0 files changed, 0 insertions, 0 deletions