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.
https://microsoft.github.io/language-server-protocol/specifi...
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.
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.
But then you uninstall that extension and it's a nice, reasonably lightweight editor again.