The list of language server protocol extensions it uses is interesting:
https://github.com/rust-analyzer/rust-analyzer/blob/master/d...
I'm pleased to see they're filing issues upstream about them: I think there's some risk that LSP is going to end up in a place where in practice for good results every editor has to have custom support for every language.