Skip to content

Commit 7611683

Browse files
committed
Add section on Zed issues
1 parent 00a6da6 commit 7611683

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

LSP.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,14 @@ Implementation: `lsp/initialize.rs`
545545

546546
Config changes (e.g. suffix, package-spec) trigger a full project re-initialization: the affected project is re-read from disk, packages are re-discovered, and a fresh `TypecheckOnly` build runs. Any pending typechecks scoped to that project are cleared to avoid stale results. The `rescript.json` watcher pattern is already registered alongside source file patterns.
547547

548+
### Known limitation: external file modifications
549+
550+
The LSP relies entirely on editor notifications (`didChange`, `didSave`, `didChangeWatchedFiles`) to learn about file changes. When a tool writes to a `.res` file directly on disk — bypassing the editor — the LSP may never be notified, so the corresponding `.mjs` output will not be regenerated.
551+
552+
This affects AI coding agents (e.g. Claude Code's `Edit` tool in Zed) that perform atomic file writes without going through the editor buffer. The file watcher registration asks the **editor** to watch for changes; if the editor itself doesn't detect the external write, no `didChangeWatchedFiles` event is sent.
553+
554+
Tracked upstream for the Zed + Claude Agent case: [zed-industries/claude-agent-acp#333](https://github.com/zed-industries/claude-agent-acp/issues/333), [zed-industries/claude-agent-acp#316](https://github.com/zed-industries/claude-agent-acp/pull/316).
555+
548556
## What Is NOT Implemented Yet
549557

550558
| Feature | Status |

0 commit comments

Comments
 (0)