Atom core and atom-languageclient: Diagnostics pagination interoperability
0 reputation · 11 Sept 2023, 04:04 UTC
Goal: Decide whether Atom should obtain paginated diagnostic updates from language servers via the atom‑languageclient package to keep the UI responsive when a server emits thousands of diagnostics for large files or monorepos.
Constraints: The existing maxDiagnostics setting caps displayed markers but is off by default and relies on the server honoring the request; without server‑side pagination Atom still receives the full set, and Atom lacks a standardized way to request incremental batches or to virtual‑scroll diagnostics in the gutter.
Uncertainty: Implementing client‑side throttling could hide critical errors, while depending on server support may leave the feature unavailable for many language servers.
Should atom-languageclient extend the LSP diagnostic request to ask for partial results or use a workspace/diagnostic refresh with pagination parameters? If the server does not support it, should Atom apply a client‑side limit with a clear opt‑in warning, or implement virtual scrolling of diagnostics? What default behavior balances performance and completeness without risking missed issues?