aboutsummaryrefslogtreecommitdiffstats
path: root/idatui/domain.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-09 13:34:43 +0200
committerblasty <blasty@local>2026-07-09 13:34:43 +0200
commit55b726d780404d77fe781b6cc08a4b3f4a039b0c (patch)
treeb962f7ff33468373e4f0ada68963564d08cfb33b /idatui/domain.py
parentsearch UX: visible prompt + incremental (as-you-type) highlighting (diff)
downloadida-tui-55b726d780404d77fe781b6cc08a4b3f4a039b0c.tar.gz
ida-tui-55b726d780404d77fe781b6cc08a4b3f4a039b0c.tar.xz
ida-tui-55b726d780404d77fe781b6cc08a4b3f4a039b0c.zip
function-name filter: incremental + highlight + clear
- Incremental client-side filter over the cached function list (no per-keystroke server round-trips): narrows + highlights the matched substring in each name as you type, debounced ~80ms. Substring or glob (*/?), smartcase. - Clear the filter: Esc in the filter box, OR Esc on the focused list, OR empty Enter. Status shows 'filter <q>: N/total'. - streaming pauses while a filter is active; re-applied over the full set once load completes. Row selection resolves the name from the index (cells can now be styled Text). - FunctionIndex.all_loaded(); pilot suite 27/27.
Diffstat (limited to 'idatui/domain.py')
-rw-r--r--idatui/domain.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/idatui/domain.py b/idatui/domain.py
index 9417150..9ed2432 100644
--- a/idatui/domain.py
+++ b/idatui/domain.py
@@ -185,6 +185,10 @@ class FunctionIndex:
with self._lock:
return self._by_addr.get(ea)
+ def all_loaded(self) -> list[Func]:
+ with self._lock:
+ return list(self._funcs)
+
# --------------------------------------------------------------------------- #
# Disassembly model: block-cached windowed listing for ONE function