Skip to content

Instantly share code, notes, and snippets.

@Xanewok
Last active July 26, 2017 23:44
Show Gist options
  • Save Xanewok/149467af1ae2205aeab1ee6464dfe4a3 to your computer and use it in GitHub Desktop.
Save Xanewok/149467af1ae2205aeab1ee6464dfe4a3 to your computer and use it in GitHub Desktop.
Abstract
Providing reasonable IDE support via Rust Language Server
How Rust Language Server understands your project as an IDE tool # One of two?
One of the key measures of the language usability is extensive tooling, particularly having a mature and accessible IDE.
# There is a reason why IDEs are such a hot topic when discussing language usability and tooling surrounding it.
By providing code navigation, generation and refactoring facilities, IDEs speed up considerably
the core edit-compile-debug cycle. Throw autocompletion in and not only do you get a practical tool that
supports everyday development but you also get a learning tool, which supports the learning by tinkering approach.
Historically, IDE support for Rust has always been quite lacking. As the language is focused on thorough
static checking and enforcing compile-time guarantees, it often feels unwelcoming to the beginners,
since the compiler doesn't allow for too much leeway. Not without a reason IDE support has been stated
as very desired in State of Rust Survey in 2016 and is listed as one of the main goals for the 2017 Rust's roadmap.
This talk will explain the current state of core IDE tool, Rust Language Server (RLS), what it's capable of and how to use it.
Additionally it'll try to shed a bit more light on how it works behind the scenes, specifically how it understands the project
structure and how it leverages existing tooling to provide its core functionality.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment