Rust: Tracking issue for the Rust Language Server

Created on 11 Feb 2016  路  10Comments  路  Source: rust-lang/rust

Tracking issue for https://github.com/rust-lang/rfcs/pull/1317

(to be filled in by @nrc...)

B-RFC-approved B-unstable C-tracking-issue T-dev-tools

Most helpful comment

The Language Server Protocol is "a common protocol for languages" and is supported Red Hat, Codenvy and Microsoft. If this becomes a standard protocol it would be great if Rust used it.

All 10 comments

Has work started on this yet?

@archshift no. It is low priority for now until there is concrete progress with incremental compilation (perhaps mid 2016).

The Language Server Protocol is "a common protocol for languages" and is supported Red Hat, Codenvy and Microsoft. If this becomes a standard protocol it would be great if Rust used it.

@pyfisch Came here to post this :smile:

Kythe also has a similar, though less targeted goal than the 'Language Server Protocol'.

Added basic language server support for my own language (written in Rust). The language server API is not complete yet but I would be happy to separate out the language agnostic parts to its own crate if that would be useful.

https://github.com/Marwes/gluon_language-server

Added basic language server support for my own language (written in Rust). The language server API is not complete yet but I would be happy to separate out the language agnostic parts to its own crate if that would be useful.

https://github.com/Marwes/gluon_language-server

Ha, I had just started very similar work last week: https://github.com/RustDT/RustLSP
RustLSP is meant to be just the LSP protocol, not tied to any actual language engine.

I'm hoping later to actually provide a basic Rust language server, by integrating Racer, Rainicorn, maybe even cargo build and rustw to the LSP protocol.

@bruno-medeiros I finished making the rest of the serializing structures yesterday (barring a mistake here or there), if you want I can move them to a crate and submit to crates.io if you want to skip the tedious part of the server.

@Marwes Thanks, but I ended up adding it myself, since I wanted to review the whole protocol document, as well as review the underlying Rust code ( https://github.com/RustDT/RustLSP/blob/master/src/lsp.in.rs ). I did look at your code for some ideas, though. Speaking of, doesn't serde have a built-in way to (de)serialize numeric enums? :open_mouth: I'm surprised we'd have to write our own code for that.

I suspect that this tracking issue isn't really tracking much any more, so closing.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jmegaffin picture jmegaffin  路  3Comments

Robbepop picture Robbepop  路  3Comments

pedrohjordao picture pedrohjordao  路  3Comments

drewcrawford picture drewcrawford  路  3Comments

modsec picture modsec  路  3Comments