spacemacs/layers/+lang/rust/README.org
Fredrik Bergroth 48d05d3182 rustfmt: Remove obsolete package
This package was merged into rust-mode.
2016-02-23 20:42:25 +01:00

57 lines
2.2 KiB
Org Mode

#+TITLE: Rust contribution layer for Spacemacs
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
[[file:img/rust.png]]
* Table of Contents :TOC_4_org:noexport:
- [[Description][Description]]
- [[Install][Install]]
- [[Layer][Layer]]
- [[Racer][Racer]]
- [[Cargo][Cargo]]
- [[Rustfmt][Rustfmt]]
- [[Key bindings][Key bindings]]
* Description
This layer supports [[http://www.rust-lang.org/][Rust]] development in Spacemacs.
It has auto-completion and navigation support through [[https://github.com/phildawes/racer][Racer]] and supports [[http://doc.crates.io/index.html][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 [[https://github.com/phildawes/racer][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 [[https://github.com/phildawes/racer#installation][installation instructions]].
To enable auto-completion, ensure that the =auto-completion= layer is enabled.
** Cargo
[[http://doc.crates.io/index.html][Cargo]] is a project management command line tool for Rust. Installation
instructions can be found on the main page of [[http://doc.crates.io/index.html][Cargo]].
** Rustfmt
Format Rust code according to style guidelines using [[https://github.com/rust-lang-nursery/rustfmt][rustfmt]].
#+BEGIN_SRC sh
cargo install rustfmt
#+END_SRC
To enable automatic buffer formatting on save, set the variable =rust-format-on-save= to =t=.
* Key bindings
| Key Binding | Description |
|-------------+-----------------------------------|
| ~SPC m c c~ | compile project with Cargo |
| ~SPC m c t~ | run tests with Cargo |
| ~SPC m c d~ | generate documentation with Cargo |
| ~SPC m c x~ | execute the project with Cargo |
| ~SPC m c C~ | remove build artifacts with Cargo |
| ~SPC m g g~ | jump to definition |
| ~SPC m =~ | reformat the buffer |