Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As someone who wrote an LSP implementing server 2 years ago (when the documentation was even less complete), I can't really relate to this.

As far as I know, the LSP specification only accepts PRs once there is a reference implementation. So you can literally just run VS Code with verbose logging turned on for the reference language server and inspect the communications.

I did my learning by literally following the VS Code guide (the reference implementation) https://code.visualstudio.com/api/language-extensions/progra... and implementing each feature one by one.

You simply return an object following the interface and features magically work. It's wonderful. I added the "Outline" feature in VS Code, and the similar feature to show all symbols in a file in vim in about 2 hours.

> And many of the concepts, like what a 'code lens' is, what properties it has, and how it would appear in an editor are never explained=

Well, no, because they're not specified. How vim displays a code lens might be very different to how VS code does.



> As far as I know, the LSP specification only accepts PRs once there is a reference implementation. So you can literally just run VS Code with verbose logging turned on for the reference language server and inspect the communications.

“You have to run VSCode to reach a working understanding” seems like a pretty far cry from the stated goal of the project of decoupling the language features from the code editor to me




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: