2 comments

[ 1.9 ms ] story [ 12.9 ms ] thread
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.

I think some of those extensions rely on drastically different language primitives absent from most other languages.

eg. https://github.com/rust-analyzer/rust-analyzer/blob/master/d...

Rust has a built-in macro marker for tests. I suspect rust-analyzer uses this fact when it searches all AST nodes with the #[test] marker that contain a call to the symbol in question for the implementation.

So adding the related tests interface to other languages would require similar AST-level primitives.