#+TITLE: Rust contribution layer for Spacemacs #+HTML_HEAD_EXTRA: [[file:img/rust.png]] * Table of Contents :TOC_4_org:noexport: - [[Description][Description]] - [[Install][Install]] - [[Layer][Layer]] - [[Cargo][Cargo]] - [[Auto-completion][Auto-completion]] - [[Key bindings][Key bindings]] * Description This layer aims to support [[http://www.rust-lang.org/][Rust]] development in Spacemacs. It supports [[http://doc.crates.io/index.html][Cargo]], and has some basic auto-completion support through [[https://github.com/phildawes/racer][Racer]], though Racer needs some additional configurations as described on their page. * Install ** Layer To use this layer, add it to your =~/.spacemacs= #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '(rust)) #+END_SRC ** 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]]. ** Auto-completion To enable auto-completion, ensure that the =auto-completion= layer is enabled and add the following line to your =dotspacemacs/user-init=: #+BEGIN_SRC emacs-lisp (setq-default rust-enable-racer t) #+END_SRC You have to install [[https://github.com/phildawes/racer][Racer]] to use this. For more information on the installation procedure, look [[https://github.com/racer-rust/emacs-racer][here]]. * 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~ | go jump to definition |