Developers of Mozilla’s Rust language has presented the first release of the Rust Language Server(RLS). This project is more focused on giving IDEs and editors with live, circumstantial information about Rust code.
RLS is considered as one of the first implementations of Language Server Protocol. Microsoft partnered with Codenvy and RedHat to develop Language Server Protocol to systematize the communications between IDE’s and language runtimes.
RLS’s first release is “pre-alpha” and it is usually considered as a concept rather than a working product. RLS is using Rust compiler to supply a large amount of data, but currently, the compiler can’t always provide data in quick time, especially when dealing with large Rust “crates,” or packages.
Among many, one of the features planned for the Rust compiler is an Incremental compilation in order to increase performance to RLS. The feature has not been updated in Rust compiler. As of now, RLS is making use of existing Racer, Rust crate, which provides code-completion data.
RLS alone isn’t of much use , it demands an IDE that supports the Language Server Protocol as a front end. We have two of such IDEs such as Eclipse and Microsoft’s Visual Studio Code.
Sample RLS client for Visual Studio Code has been published by one of RLS’s chief developer, Jonathan Turner. So that Rust developers can immediately start experimenting with the editor.
Since RLS is still in development stage, it can provide some basic but broadly useful functions. The errors will show up as you type and will locate all references to a particular symbol which are present in a codebase, provide documentation for objects found in the standard library and rename symbols.
As mentioned in RLS GitHub Documentation, “This project is in the early stages of development, it is not yet ready for real use. It will probably eat your laundry.”