Skip to content

Latest commit

 

History

History
84 lines (67 loc) · 3.6 KB

README.org

File metadata and controls

84 lines (67 loc) · 3.6 KB

Rust layer

img/rust.png

Table of Contents

Description

This layer supports Rust development in Spacemacs.

Features:

  • Auto-completion and navigation support through lsp or Racer
  • support for the Rust package manager Cargo

Install

Layer

To use this configuration layer, add it to your ~/.spacemacs. You will need to add rust to the existing dotspacemacs-configuration-layers list in this file.

Backends

The backend is dependent upon the rust-backend layer configuration variable. The possible vaules for rust-backend are lsp or racer with racer being the default.

Racer

You must install Racer to use this backend. Make sure the racer binary is available in your PATH and to set the environment variable RUST_SRC_PATH, as described in the installation instructions.

To enable auto-completion, ensure that the auto-completion layer is enabled.

LSP

You must add lsp to the existing dotspacemacs-configuration-layers in your ~/.spacemacs.

Consult the installation command for the desired language server found at lsp-mode for instructions.

To enable auto-completion, ensure that the auto-completion layer is enabled.

Cargo

Cargo is a project management command line tool for Rust. Installation instructions can be found on the main page of Cargo.

Rustfmt

Format Rust code according to style guidelines using rustfmt.

cargo install rustfmt

To enable automatic buffer formatting on save, set the variable rust-format-on-save to t.

Key bindings

Key bindingDescription
SPC m = =reformat the buffer
SPC m c .repeat the last Cargo command
SPC m c Cremove build artifacts with Cargo
SPC m c Xexecute a project example with Cargo
SPC m c ccompile project with Cargo
SPC m c dgenerate documentation with Cargo
SPC m c erun benchmarks with Cargo
SPC m c fformat all project files with rustfmt
SPC m c icreate a new project with Cargo (init)
SPC m c lrun linter (cargo-clippy) with Cargo
SPC m c ncreate a new project with Cargo (new)
SPC m c orun all tests in current file with Cargo
SPC m c ssearch for packages on crates.io with Cargo
SPC m c trun the current test with Cargo
SPC m c uupdate dependencies with Cargo
SPC m c xexecute a project with Cargo
SPC m c vcheck (verify) a project with Cargo
SPC m g gjump to definition
SPC m h hdescribe symbol at point
SPC m trun tests with Cargo