doomemacs/modules/lang/rust
2019-10-17 01:47:58 -04:00
..
autoload.el use keybindings from cargo mode 2019-07-04 20:58:44 +02:00
config.el Refactor localleader keybinds #1270 2019-10-04 22:04:47 -04:00
doctor.el Minor refactors & reformatting across the board 2019-10-17 01:47:58 -04:00
packages.el Remove flycheck-rust since it is no longer used. 2019-07-21 09:16:13 -04:00
README.org Fix install command for clippy, uses rustup 2019-09-27 14:39:17 -04:00

lang/rust

Description

Add support to Rust language and cargo commands inside emacs.

  • Code completion (racer)
  • Syntax checking (flycheck)
  • Snippets

Module Flags

  • +lsp to add support Language server protocol.

Hacks

{A list of internal modifications to included packages}

Prerequisites

To get started with Rust, you can either use rustup and install rust with:

curl https://sh.rustup.rs -sSf | sh

Package manager is not recommended to install Nightly version of Rust what is required for racer from version 2.1 (more info in Troubleshooting)

Some features have additional dependencies:

  • The :editor format module uses rustfmt for rust files: rustup component add rustfmt-preview
  • The following commands require:

    • cargo-process-check: cargo install cargo-check
    • cargo-process-clippy: rustup component add clippy-preview
    • cargo-process-{add,rm,upgrade}: cargo install cargo-edit

Features

This module also supports LSP, it requires installation of Rust Language Server RLS. To enable this you need to enable lsp in :tools section in init.el file.

Keybindings

Binding Description
<localleader> b a cargo add
<localleader> b b cargo build
<localleader> b B cargo bench
<localleader> b c cargo check
<localleader> b C cargo clippy
<localleader> b d cargo doc
<localleader> b r cargo run
<localleader> b s cargo search
<localleader> b u cargo update
<localleader> t a cargo test
<localleader> t f run tests in current file
<localleader> t t run current test

TODO Configuration

How to configure this module, including common problems and how to address them.

Troubleshooting

Racer installation problems

Racer need now (From 2.1 version) nightly version of Rust

If you installed trough rustup

rustup toolchain add nightly

cargo +nightly install racer