Interested in editor support for the RLS?


#1

The Rust Language Server can bring IDE features to pretty much any editor. So far we’ve focussed on providing support in Visual Studio Code. We’d like to start thinking about the next steps for bringing similar support to other editors. Next week the dev-tools team will be starting the planning process at our weekly meeting. If you’re interested in implementing RLS support in your favourite editor, it would be great to have you at the meeting.

The meeting will be on irc, in the #rust-dev-tools channel, at 8pm UTC on Monday 11th September. Let me know if you have any questions!


#2

Pinging @matklad as I know it’s been brought up for use in intellij-rust before.


#3

Yeah, we still pursue our own thing though :slight_smile: Recently, @vlad20012 greatly improved our type inference, and we are about to start working on macros :slight_smile:


#4

We have support for various RLS features in GNOME Builder and would certainly love to expand as the GNOME community embraces Rust for our platform.

Builder can currently:

  • Manage your RustUp toolchains
  • Cargo build integration
  • Auto-Completion
  • Diagnostics
  • Symbol Renaming
  • Symbol Resolvers (Goto Symbol, Symbol Tree, etc)
  • Syntax highlighting using both regex (for language features) and Semantic Highlighting (for user types)
  • Code reformatting

Some of the easy things to knock out for the GNOME 3.28 cycle might be:

  • Implement our code index interface (which enables global fuzzy symbol search)
  • Improve the symbol tree hierarchy (last I checked it needed some RLS fixes for symbol range/parent support)
  • Implement a documentation provider interface so documentation on mouse hover works
  • Cargo unit test integration
  • Debugger integration (although I suspect since we use GDB this mostly works already)

For Builder, we try to write the generic language server protocol code (in C) and then the Rust integration is simply a matter of a few lines of Python.

Once Niko’s gobject_gen! stuff is ready for general consumption we want to start enabling both plugins and core features in Builder to be written in Rust.

Sources


#5

Adding RLS support has been on the roadmap for xi pretty much since the beginning, but it is taking more time than expected to get the editor to the point where it can support it. I’ll plan on attending the irc-meeting this afternoon.


#6

Would love to see rls support for Vim! It’s by far the most commonly used editor for rust (according to the survey), and could certainly benefit from a subset of rls features. I’m currenlty using YouCompleteMe, which has racer integration, but the full rls seems even better!


#7

If you’re interested in that, be sure to check out the following projects:

I’m not sure how far along they are, but some work has already been done.