Skip to content
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.

Support another editor #18

Closed
nrc opened this issue Sep 29, 2016 · 17 comments
Closed

Support another editor #18

nrc opened this issue Sep 29, 2016 · 17 comments
Milestone

Comments

@nrc
Copy link
Member

nrc commented Sep 29, 2016

Should be non-LS protocol based. My vote is for Sublime, but could also try Atom, Vim, or Emacs.

Necessary to ensure the RLS is editor-independent.

@nrc nrc added this to the Alpha release milestone Sep 29, 2016
@sophiajt
Copy link

Agreed, this should block the alpha release imho

@jasonwilliams
Copy link
Member

Sublime would be better considering there's already a rust-lang maintained project https://github.com/rust-lang/sublime-rust
I maintain the sublime-rust package and am currently in the process of tidying it up and we have some features people are adding in

@sophiajt
Copy link

sophiajt commented Oct 6, 2016

@Jayflux - do you know if there's a Sublime plugin for the Language Server Protocol (https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md) by chance? I'm in the process of moving the RLS over to it, and for editors that support it, it should greatly speed up getting Rust support to them.

@emberian
Copy link
Member

emberian commented Oct 18, 2016

Why non-LS protocol, @nrc? It seems a bit nicer for everyone if all the "RLS" plugins were actually just LS plugins - one protocol for RLS to support, one interface for editors to support. I've already started on an emacs LS plugin :)

@nrc
Copy link
Member Author

nrc commented Oct 18, 2016

@cmr in case there is some editor that refuses to ever support LS for whatever reason, then it would be good to know we can still use the RLS. To be clear, I think we should still use the LS protocol, just that we don't use native LS support in the editor, so emacs + LS plugin would satisfy that.

@emberian
Copy link
Member

Ah, I see now.

@sophiajt
Copy link

In practice, hopefully when someone writes a plugin that supports the LS protocol, everyone else writing a language plugin that uses it can share that code for a given editor.

@Wilfred
Copy link

Wilfred commented Oct 19, 2016

I'm the de-facto maintainer of racer.el for Emacs, and I'd be very interested in building supporting for RLS in an Emacs package :)

Do we have a GitHub organisation for editor packages? I know rust-mode.el is an official Rust project.

@jasonwilliams
Copy link
Member

@Jayflux - do you know if there's a Sublime plugin for the Language Server Protocol (https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md) by chance? I'm in the process of moving the RLS over to it, and for editors that support it, it should greatly speed up getting Rust support to them.

I don't think so, ill have to investigate

@owlbit
Copy link

owlbit commented Oct 19, 2016

@Jayflux - do you know if there's a Sublime plugin for the Language Server Protocol (https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md) by chance? I'm in the process of moving the RLS over to it, and for editors that support it, it should greatly speed up getting Rust support to them.

There's a Sublime plugin for OmniSharp [https://github.com/OmniSharp/omnisharp-sublime], so the lion's share of work for supporting the protocol on Sublime should already be done.
I imagine a setup similar to what sublimelinter has would be useful in the longterm; that is, the base plugin + plumbing to support different languages.

@tbelaire
Copy link
Contributor

tbelaire commented Oct 19, 2016

I've done some work on compiler integration for the Coq language for Vim, and I'd be interested in working on the (Neo?)Vim plugin. I'm not quite sure where to start though.

I suppose I could try and change out the typescript specific stuff from https://github.com/clausreinke/typescript-tools.vim and see what happens.

@jasonwilliams
Copy link
Member

Thanks @owlbit, ill have a play. Im still new to the whole LS stuff so ill be doing a lot of learning

@nrc
Copy link
Member Author

nrc commented Oct 19, 2016

@Wilfred

Do we have a GitHub organisation for editor packages? I know rust-mode.el is an official Rust project.

Existing 'official' editor plugins are in the rust-lang org: https://github.com/rust-lang. A new editor plugin would probably start off in the nursery.

@tbelaire
Copy link
Contributor

My first guess would be that the sublime and vim plugins could share some python code for handling the Language Server Protocol. This could expose an server interface for sending and receiving commands, then each editor could bind those commands one their own.

I'm started something quick here, any thoughts?

https://gist.github.com/tbelaire/94ace69a6c7536f68e6495a9305e2ed8

@chergert
Copy link

In GNOME Builder we've landed support for most of the Language Server Protocol features of rustls. There are a few things to finish up, but I expect to release our next stable release in the coming week with a Rust Language Server preview.

We'll continue working on features in the mean time to fill out the missing bits we don't yet support.

https://git.gnome.org/browse/gnome-builder/tree/plugins/rust-langserv/

@sophiajt
Copy link

sophiajt commented Nov 3, 2016

Closing as complete as @chergert 's work checks this box for us.

As we get to the beta, we'll probably want to expand to even more, making sure we have good emacs, eclipse, vim support (and likely others)

@sophiajt sophiajt closed this as completed Nov 3, 2016
@Boscop
Copy link

Boscop commented Nov 6, 2016

+1 for Sublime support

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants