summaryrefslogtreecommitdiff
path: root/docs/lsp.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/lsp.md')
-rw-r--r--docs/lsp.md14
1 files changed, 6 insertions, 8 deletions
diff --git a/docs/lsp.md b/docs/lsp.md
index 1adb397b..b35c8eeb 100644
--- a/docs/lsp.md
+++ b/docs/lsp.md
@@ -39,8 +39,8 @@ shell and the ESP32-P4 object: there `lsp.supports` is empty, which makes
response; a host that links a backend would add both.
**In a DETACHED session every query answers EMPTY.**
-`src/detached/server.zig`'s vtable implements sixteen of `host.zig`'s
-twenty-one methods, and `pull_lsp` is one of the five it leaves null — a
+`src/detached/server.zig`'s vtable implements seventeen of `host.zig`'s
+twenty-one methods, and `pull_lsp` is one of the four it leaves null — a
worker pool is precisely what its deliberately single-threaded loop does not
have. A null method is NOT automatically a dropped effect: `perform` decides
that per arm, and the `.lsp` arm's answer is to synthesise one on the spot —
@@ -69,16 +69,14 @@ has moved by the time the prong runs, the guard fails, and the Tab really is
eaten. The local shells have the same race over a wider window, so this is a
property of the late-indent repair rather than of detaching.
-None of the detached core's five null methods silently drops a reachable
+None of the detached core's four null methods silently drops a reachable
effect. `pull_lsp` and
`pull_pipe` have the fallbacks above; `pull_gpio_toggle` is
`orelse return Error.NoPads` (`board_memory.zig`), which lands on the message
row; `push_post_present` is a `pump` hook fired after presenting, and there is
-nothing to notify in a process with no screen; and `push_fs_reply` is the one
-`perform` arm with no fallback at all, but it is only ever emitted in answer to
-an `Event.fs_req`, which is not on the wire (`wire.zig`: it has no `ClientTag`,
-because neither half of that pair may cross an attachment) and which the
-daemon raises none of, mounting no `/dev/fuse` by its own vtable comment.
+nothing to notify in a process with no screen. `push_fs_reply` was listed here
+too until the daemon began mounting its own `/dev/fuse`; it implements that one
+now, and `--fs` works in a detached session.
Four rules make it safe: