Interesting to see the Language Server Protocol grow, now supporting over 20 PLs: https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations#language-servers (often wrapping existing tools)
miniblog.
Related Posts
My $2/month VPS has stopped and can't even boot, so I've switched provider.
It seems like most server providers don't want to offer <$5 machines, and I imagine it's hard to make money at the low end. Several providers require a one-off setup fee too.
nREPL is a really interesting protocol for developer tools. It's extensible, but one of the basic operations is eval().
If your nREPL server doesn't support a given operation, you can just send an eval request to achieve the same result!
In LSP, a position is represented as a line number and a column offset (in Unicode code units): https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#position
This is pretty elegant. You'll get the correct line regardless of encoding bugs, and the editor already knows the line number so it's cheap to compute.