Enter hell: LSP assumes that it's the source of truth, but you still need to access the filesystem yourself, and do it in a synchronized wayLSP is an example of utterly horrid technical design.Stop letting Microsoft design protocols and APIs. They are so. bad. at. it.
LSP is not that bad. They tried to decouple IDE features from language features.Resolving file paths is not trivial because it's language specific.Syncing source changes on the LSP server side is necessary to keep packet side small and patching is trivial (span, new text).(I made an LSP-powered text editor and implemented LSP client from scratch)
octoberfranklin · · focus · HN ↗
LSP is an example of utterly horrid technical design.
Stop letting Microsoft design protocols and APIs. They are so. bad. at. it.
ivanjermakov · · focus · HN ↗
Resolving file paths is not trivial because it's language specific.
Syncing source changes on the LSP server side is necessary to keep packet side small and patching is trivial (span, new text).
(I made an LSP-powered text editor and implemented LSP client from scratch)