This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+lang/rust
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
..
img
config.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
funcs.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
packages.el Revert "Defer packages by default using use-package-always-defer" 2018-03-03 23:40:10 -05:00
README.org rust: revert SPC m c c and move cargo-process-check to SPC m c v 2018-01-17 23:17:50 -05:00

Rust layer

/TakeV/spacemacs/media/commit/635a32c468126ab6694a691b8228be57b6e1c45c/layers/+lang/rust/img/rust.png

Description

This layer supports Rust development in Spacemacs.

Features:

  • Auto-completion and navigation support through 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.

Racer

You must install Racer to use this. 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.

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 Binding Description
SPC m = reformat the buffer
SPC m c . repeat the last Cargo command
SPC m c C remove build artifacts with Cargo
SPC m c X execute a project example with Cargo
SPC m c c compile project with Cargo
SPC m c d generate documentation with Cargo
SPC m c e run benchmarks with Cargo
SPC m c f format all project files with rustfmt
SPC m c i create a new project with Cargo (init)
SPC m c l run linter (cargo-clippy) with Cargo
SPC m c n create a new project with Cargo (new)
SPC m c o run all tests in current file with Cargo
SPC m c s search for packages on crates.io with Cargo
SPC m c t run the current test with Cargo
SPC m c u update dependencies with Cargo
SPC m c x execute a project with Cargo
SPC m c v check (verify) a project with Cargo
SPC m g g jump to definition
SPC m h h describe symbol at point
SPC m t run tests with Cargo