aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-25 00:20:37 +0200
committerblasty <blasty@local>2026-07-25 00:20:37 +0200
commitb519051ce9ca3f8e0835221643211a8879fd6cd7 (patch)
tree787ac095df6756f6aeedc161a66a9baa1a385b82 /docs
parentsplit: click a pane to drive it (not just Tab) + spell it out in the status (diff)
downloadida-tui-b519051ce9ca3f8e0835221643211a8879fd6cd7.tar.gz
ida-tui-b519051ce9ca3f8e0835221643211a8879fd6cd7.tar.xz
ida-tui-b519051ce9ca3f8e0835221643211a8879fd6cd7.zip
split: follow the decomp across functions as the listing cursor crosses bounds
The unified listing spans many functions, but the decomp pane was pinned to the one function it was opened on — scrolling the listing cursor past that function's bounds stopped syncing. Now _sync_split tracks the decompiled function's ea span (_split_range, from decomp_map) and, when the listing cursor leaves it, re-points the decomp pane to the function under the cursor: _resync_decomp (exclusive worker) -> function_of(ea) -> _apply_resync re-decompiles + reloads the region map, or just drops the band over data/undefined (keeping the last function). Pilot split_view: moving the listing cursor into another function re-syncs the decomp (18/18).
Diffstat (limited to 'docs')
-rw-r--r--docs/SPLIT_VIEW.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/SPLIT_VIEW.md b/docs/SPLIT_VIEW.md
index 1a61efc..de37dc1 100644
--- a/docs/SPLIT_VIEW.md
+++ b/docs/SPLIT_VIEW.md
@@ -97,6 +97,11 @@ back to the single marker until the map lands. Verified on the pilot's real work
split routes through `_open_entry` (listing) → `_show_active` split branch
(decomp + `_load_split_map`), so both panes reload for the new function and
split stays on.
+- Cross-function follow: the unified listing spans many functions, so when the
+ listing cursor leaves the decompiled function's ea span (`_split_range`),
+ `_sync_split` re-points the decomp pane to the function under the cursor
+ (`_resync_decomp` → `function_of` → re-decompile + reload the map). Over
+ data/undefined it just drops the band and keeps the last function.
- Non-issues after review: split is a persistent *mode* orthogonal to nav
entries, so back/forward simply navigate within split (no per-entry state
needed); search is already per-focused-pane.