Stream: t-compiler/rust-analyzer

Topic: IntelliJ Platform Plugin


HTGAzureX1212. (Jun 13 2021 at 10:19, on Zulip):

I am interested in working on an IntelliJ Platform plugin for Rust Analyzer. Are there any resources on which how I can start doing so? As in, are there any things that I have to do before implementing the plugin? (I have already created the project and is willing to work with you guys to get Rust Analyzer support on IntelliJ Platform because Rust Analyzer is amazing!)

matklad (Jun 13 2021 at 10:20, on Zulip):

https://github.com/gtache/intellij-lsp might be a starting point, although I don't know whether it would be a good starting point.

HTGAzureX1212. (Jun 13 2021 at 10:22, on Zulip):

I have had a look at it - it currently uses RLS. And it is written in Scala - I plan to write it using Kotlin instead. I will have a look - also the fact that it has been stopped for a while due to the pandemic - it might be a good time for a Rust Analyzer plugin for the IntelliJ Platform. IntelliJ Rust is good enough for the most part IMO, but there are various things that Rust Analyzer can do but not IntelliJ Rust.

matklad (Jun 13 2021 at 10:23, on Zulip):

If I were solving this problem in the abstract, I'd build two things:

In terms of how to actually do this properly, https://github.com/JetBrains/intellij-plugins/tree/master/Dart (dart plugin) would be the right place to learn from

HTGAzureX1212. (Jun 13 2021 at 10:25, on Zulip):

Thank you! I will have a look. :thumbs_up:

HTGAzureX1212. (Jun 13 2021 at 10:26, on Zulip):

I will also probably branch off rust-analyzer for the addition for the Rust Analyzer IntelliJ Platform plugin. Thanks!

matklad (Jun 13 2021 at 10:28, on Zulip):

Solving this problem concretely in the most useful way is a tough exercise in system's design -- obviously, JetBrains at some point might or might not add first class LSP support to the platform.

With this in mind, to keep the work maximally useful in the long-run, I'd keep an eye at the following exit strategies:

HTGAzureX1212. (Jun 13 2021 at 10:30, on Zulip):

Alright!

Last update: Jul 29 2021 at 09:00UTC