logoalt Hacker News

octoberfranklintoday at 3:11 AM3 repliesview on HN

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 way

LSP is an example of utterly horrid technical design.

Stop letting Microsoft design protocols and APIs. They are so. bad. at. it.


Replies

tredre3today at 3:33 AM

> Stop letting Microsoft design protocols and APIs.

Unfortunately nobody else stepped up to do it.

I'm glad that the code editors out there didn't wait for your theoretical better designed protocol and decided to adopt LSP. Otherwise we'd still have editor that only support one language properly, and the rest is treated like text. If the price to pay is that it sucks for the handful of people who have to work with it, so be it. For every LSP developer that suffers there are tens of thousands of downstream users who benefit from better language support in their favorite editor!

ivanjermakovtoday at 7:36 AM

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)

duttishtoday at 3:13 AM

I've never looked into LSP, how would you design it?

show 2 replies