Hacker News new | ask | show | jobs
by 2bitencryption 2690 days ago
I think the key is that it has the potential to be a great platform.

The text-editing "fundamentals" are covered by the Monaco engine. The rest is covered by extensions.

Out of the box, it's not much more than a glorified Notepad. Add some extensions and suddenly I'm stepping through my Rust breakpoints and inspecting values.

1 comments

The language server protocol (LSP) is a massive leap forward. And unlike the Microsoft of Ballmer, LSP is an open standard that any editor designer can implement.
Is there any reason to use LSP, rather than simple JSON messages passed between the front-end and back-end? That's the approach that Xi uses.

https://github.com/xi-editor/xi-editor

> Is there any reason to use LSP, rather than simple JSON messages passed between the front-end and back-end

Yes, there's a reason to use a documented open standard supported by multiple servers and clients that passes JSON back and forth rather than an ad hoc, client specific mechanism that also passes JSON back and forth.

In fact, the reason is exactly the problem LSP addresses, labeled as “The Matrix” at https://langserver.org

In short, a problem with N+M cost is better than N×M when both N and M are >2.

Because LSP is a widely used protocol for language tooling that's not coupled to any particular editor.

I'm surprised xi didn't just add an LSP client to leverage the existing ecosystem. The benefits of in-house language server implementations seem marginal at best.

What makes you say Xi's protocol is simpler just because the messages are encoded with JSON?
Most LSP work is just simple JSON messages passed with HTTP-like headers for Content-Type and Content-Length, presumably to future proof it against other payload formats.

https://microsoft.github.io/language-server-protocol/specifi...

LSP also uses JSON messages.