I’ve recently written a compiler and I wouldn’t mind turning it into a language server. I’m also sitting on a couple of interpreters that I would like to turn into language servers. And I’m planning to start a new compiler that could potentially be designed as a language server from the get-go.
But there’s a problem: I can’t find guidance. All I’ve found is, “Study the Language Server Protocol.” But that’s not enough. Here are some unanswered questions:
- What LSP features should I implement first? Which should I delay until later or not at all?
- What parts of my compiler or interpreter should I expect to reuse as is? What parts should I plan on reusing with minor changes? What parts (besides code generation) should I plan not to reuse?