-
Notifications
You must be signed in to change notification settings - Fork 257
Tracking issue - support other editors #87
Comments
FYI, for vim/neovim users, one can check https://github.com/autozimu/LanguageClient-neovim. Thanks. |
Don't forget the rust extension for vscode: https://marketplace.visualstudio.com/items?itemName=kalitaalexey.vscode-rust |
I'm working on creating an Atom package using the atom/atom-languageclient package. The package code can be found here: https://github.com/aergonaut/languageserver-rust Autocomplete, definitions, hover, and lint diagnostics all work currently. |
@aergonaut, I'll definitely be watching yours closely. My visualizer project can do much more in atom than in vscode. I'm looking forward to it! |
@Nashenas88 Major derp on my part, I had an outdated version of RLS installed that had a bug in it making it report paths incorrectly. Updating RLS cleared up the problems I was having with showing lints. |
Haven't tested this yet, but I've found emacs support: https://github.com/emacs-lsp/lsp-rust |
According to http://langserver.org/ , https://github.com/emacs-lsp/lsp-mode may be better. |
Actually it is the same thing, lsp-mode is like "main function", |
booyaa/rustlangserver.github.io#4 added to document the installation process for vim 8. It also includes a bash script which will install the entire rustc/rls toolchain and configure vim (on a posix machine) |
@vibhavp @aergonaut @autozimu and others in this thread. We'll be using next week's dev-tools team meeting to discuss getting more clients supporting the RLS. It would be really useful if people who are (or who are interested in) implementing editor support can attend. The meeting will be on irc, in the #rust-dev-tools channel on the Mozilla server at 8pm UTC on Monday 11th September. If you have anything specific to add to the agenda, or any questions please feel free to ask here or email me at my github username at mozilla.com. |
I haven't seen it mentioned on any issues but there is a new sublime LSP plugin that is tested with RLS and works well from my initial testing: https://github.com/tomv564/LSP Dunno if its enough to be checked off on the list, if you need any more information i can do some testing. |
@Slikrick - great minds. I just added it. Yeah, it seems to work great so I checked Sublime off the list. |
To be clear on Atom, both I apparently didn't realize there was a |
@mehcode that actually sounds like a great idea |
I added some docs about implementing clients - https://github.com/rust-lang-nursery/rls/blob/master/clients.md |
For the impl period, I'd really like to push ahead in this area. If people have an editor they'd like to work on that is great, if you'd like to help out I'd recommend working on Atom - there is already existing work, Atom are keen on supporting the LSP as a first-class component (see Atom-IDE), and it is a popular editor. If work there progresses quickly, or lots of people are interested then we should pick another target editor to focus on. |
@nrc The ide-rust package is as feature complete as it can be with the status of atom-ide. See https://github.com/mehcode/atom-ide-rust/blob/master/README.md#features |
@mehcode can we support our extensions to the LSP in Atom (I hope we can, the LSP is designed to be extensible). Are all the configuration options implemented? |
Actually let me move this conversation over to #478 |
Could you please add Cloud9 IDE to the list? It's a super efficient web-based IDE, which we use for https://janitor.technology (a web service that makes it easy to contribute to Firefox, Servo and other open source projects). Cloud9 already has basic support for Rust (well, syntax highlighting at least) but nothing too advanced like it does for other languages like JavaScript (e.g. jump to definition, rename symbol, linting, etc). It would be amazing to integrate It can be done by writing Cloud9 SDK plugins, and more specifically by:
I'd love to work on this, but I'd appreciate any help and suggestions I can get. |
So there seems to be no LSP support for the Cloud9 itself (which seems to be requested and would improve language support considerably in general) so the very first step would be to implement an LSP client for that. This section might also prove useful to see what needs to be done from the LSP side: https://github.com/rust-lang-nursery/rls/blob/master/clients.md#where-there-is-no-lsp-support. @jankeromnes would you be willing to start working on such client? From what I understand the language handler would have to register itself as the provider for all the necessary IDE features. A generic LSP client could be implemented as a separate package, which other language-specific language handlers could consume (just like with rls-vscode using the LSP client of https://github.com/Microsoft/vscode-languageserver-node). |
For spacemacs users (an emacs distribution), I maintain a rust rls layer here: https://github.com/bkchr/rustrls |
There is some new work on using the RLS from Eclipse: https://github.com/LucasBullen/redOx |
The Eclipse Corrosion project provides Rust edition in Eclipse IDE using RLS. |
@nrc Are you able to add a link to Corrosion in this issue's initial comment for exposure? Either the project link (https://github.com/eclipse/corrosion) or the link to the one-click Eclipse IDE for Rust Developers (https://www.eclipse.org/downloads/eclipse-packages/) |
RLS seems to work reasonably well in Emacs using the |
Thanks for comments everyone! I updated the list with most recent plugins/extensions. @dgriffen does VS support work out of box with https://github.com/dgriffen/rls-vs2017? Should I link in the OP? @cmyr @raphlinus is the link at xi-editor/xi-editor#659 the most recent tracking issue on LSP/plugins support? Is there anything we can do on our side to help with this? @svenefftinge does Theia work out of box with Rust? I noticed https://github.com/theia-ide/theia-rust-extension/ and I'm not sure whether it should be linked in the OP as well. |
@Xanewok |
Done, thanks! (Just checked and gitpod.io indeed works out of box, nice work!) |
@Xanewok it should work out of the box. Right now I'm chasing down a few issues that seem to have surfaced with recent versions of the Rust compiler. |
@Xanewok LSP support in xi is currently blocked on a rewrite of the plugin system, although I'm hoping to make progress on that this month. The best overview of the current situation and what the rewrite would address is probably xi-editor/xi-editor#845; there's no explicit tracking issue at the moment. |
Eclipse Che is deprecated in favor of Theia, somebody might like to remove it from the OP. |
@ShalokShalom thanks for the heads up! Do you have any link to a post or an article with deprecation notice? |
It seems like I misread something. Che is actually integrated in Theia. Thanks |
It's the other way round Eclipse Che (that is a container based Development Environment where "editor" is only one brick of the solution) embeds by default Eclipse Theia as editor/IDE. But Eclipse Che using containers allows an addition/different way of creating plugins, defining the language servers in containers and hooking them in Theia. |
Kakoune works with RLS via: kak-lsp |
cc #18
Cloud
Check out all issues labelled with 'clients'
The text was updated successfully, but these errors were encountered: