Hacker News new | ask | show | jobs
by thorel 2746 days ago
I am not sure I understand the criticism of RLS. It feels to me that the Language Server Protocol does allow for incremental parsing etc. In particular, the approach taken by rust-analyzer

> Analyzer maintains a "database" of input facts (source code + information about project structure) and derived facts (syntax trees, name resolution information, types). The client then can change input facts, and query derived facts at the current state of the world.

seems that it could also be adopted by a language sever for Rust.

2 comments

The criticism are not about the protocol itself, but about a particular implementation. rust-analyzer also uses LSP as an interface.
The criticism is not directed at the LSP. RLS just implements the specification, but as you said LSP doesn't create these constraints.

One outcome of all this might be that RLS internally gets replaced by something like rust-analyzer, which is something that the maintainer of RLS has mused in a recent blog post as one of many possible options for the future of RLS:

https://www.ncameron.org/blog/more-on-rls-version-numbering/