aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-09 12:34:32 +0200
committerblasty <blasty@local>2026-07-09 12:34:32 +0200
commita6a1aae9cbd92be269840da9ca62b71d6af827b0 (patch)
treec2b36a2d16623aeab23be52bbbdf25110b53ecbe /docs
parentdecompiler view: Tab/Shift+Tab toggle disasm<->pseudocode, full bodies (diff)
downloadida-tui-a6a1aae9cbd92be269840da9ca62b71d6af827b0.tar.gz
ida-tui-a6a1aae9cbd92be269840da9ca62b71d6af827b0.tar.xz
ida-tui-a6a1aae9cbd92be269840da9ca62b71d6af827b0.zip
fix decompiler highlighting + cursor jank
Highlighting: Textual has NO C/C++ tree-sitter grammar (and the syntax extra wasn't installed), so language='cpp' was a silent no-op. Replace TextArea with a virtualized, Pygments-highlighted ScrollView: - idatui/highlight.py: CLexer -> Rich styles, per-line Segment lists - DecompView: lines highlighted ONCE at load, cached as Strips; O(1) scroll Jank: profiling showed our code is ~3.6ms/move (render_line 0.018ms) -- the cost was terminal repaint volume, since every cursor move refreshed the whole ~43-line viewport. Now: - cursor reactive repaint=False (no implicit full refresh) - region-limited refresh: in-place moves repaint only the 2 changed rows (measured 43 -> 2 render_line calls/move), full refresh only on scroll Applied to both DisasmView and DecompView. pilot suite 15/15 (adds highlighting assertion).
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions