From 8fef561903e9501281ebcc58cdb33ee4d9116fd0 Mon Sep 17 00:00:00 2001 From: blasty Date: Fri, 7 Aug 2026 15:29:37 +0200 Subject: docs: drop two stale files, correct the two the README links, cut sharp edges README: "Known sharp edges" removed. docs/GRAPH_VIEW.md pointed the graph's one backend call at server/patch_server.py, a file the port deleted. It is idatui/codemode_client.py now. This matters because GRAPH_VIEW.md is one of only two docs the README links -- a wrong path in a linked doc is worse than no doc. docs/RPC.md was missing five verbs rpc.py serves: ping/methods/quit (now a Session table) and trace/binaries/switch (with the semantic verbs). The trace verb drives a whole feature the README advertises, so its absence was the real gap. Every verb in rpc.py's METHODS table is now documented, checked mechanically -- the remainder of what looked missing turned out to be values of the "move" verb's dir parameter, not verbs. Deleted: - docs/CODEMODE_PORT.md. Written mid-port, and its Result section claims the port covered "the complete current TUI feature set". It did not: the graph view was dead, the operand-format keys were dead, pseudocode comments never appeared, and bulk rename was broken. Keeping a doc that states the opposite of what we found is worse than having none, and docs/CODEMODE_UPSTREAM.md carries the accurate account of the API limits. - docs/TUI_DRIVING_BLUEPRINT.md. A design sketch for generalizing the drive-a-TUI-over-a-socket pattern to other programs, with gdb as the main example -- which now exists for real in ~/dev/gdb-driver. Superseded by the thing it proposed. Nothing linked either file. Both remain in git history. --- docs/RPC.md | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'docs/RPC.md') diff --git a/docs/RPC.md b/docs/RPC.md index e433551..d13e8cd 100644 --- a/docs/RPC.md +++ b/docs/RPC.md @@ -49,6 +49,13 @@ Sequential connections (e.g. one `rpcclient` invocation per call) are fine. ## Methods +### Session +| method | params | notes | +|--------|--------|-------| +| `ping` | — | `{ok, proto, module, ready, functions, complete}` — also the default when `method` is omitted. Use it to wait for the index to finish loading. | +| `methods` | — | this table, as data. | +| `quit` | — | close the TUI gracefully (releases the database lease). | + ### Raw injection (max fidelity) | method | params | notes | |--------|--------|-------| @@ -88,6 +95,9 @@ predicate so the returned state is final. | `back` | — | Escape: pop the nav stack. | | `toggle_view` | — | Tab: disasm ⇄ pseudocode. | | `hex` | — | `\`: hex view. | +| `trace` | `seek` \| `goto` \| `step`, `over?` | navigate an execution trace (needs `--trace`). `seek` takes a timestamp, or `"!50"` for a percentage; `step` moves one instruction, `over=true` steps over a call. | +| `binaries` | — | project binaries as `{label, active, resident, indexed}` (project mode only). | +| `switch` | `label` | make another project binary active. | | `graph` | `action?=show`, `target?`, `blocks?` | the control-flow graph (Space). `show` is a pure read — blocks, typed edges, ranks, box geometry and the cursor, **not** the box-drawing characters; `screen` gives you the drawing. `open`/`close`/`toggle` switch mode, `zoom` cycles full→compact→collapsed, `entry` jumps to the entry block, `succ`/`pred` follow one edge (`J`/`K`), `block target=` puts the cursor in a block. `blocks=false` omits the per-block list. See `docs/GRAPH_VIEW.md`. | | `xrefs` | — | `x`: open the xref picker. | | `symbols` | `query?` | Ctrl+N palette, optionally pre-typed. | -- cgit v1.3.1-sl0p