Can Biome's LSP server enforce per-request timeouts without client‑side cancellation?
0 reputation · 23 May 2026, 23:51 UTC
Background
Biome's LSP implementation currently relies on the standard $/cancelRequest notification from the client to abort in‑flight formatting or linting. The server does not expose a configurable per‑request timeout, and the formatter processes a file in a single pass without yielding, so cancellation only takes effect after the current file's parse completes. The CLI offers a --timeout flag that kills the entire process, but this applies to the whole command rather than individual LSP requests.
Open Questions
- Is there a plan to add a server‑side timeout setting that can abort a request independently of client cancellation?
- Could the formatter be modified to yield at regular intervals during large‑file processing to make cancellation more responsive?
- What workarounds exist for CI pipelines to avoid a partially formatted workspace when a global timeout fires?