2013-09-13 19:42:40 -05:00
|
|
|
`rust-mode`: A major Emacs mode for editing Rust source code
|
|
|
|
============================================================
|
2012-01-16 05:44:24 -06:00
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
`rust-mode` makes editing [Rust](http://rust-lang.org) code with Emacs
|
2012-01-16 05:44:24 -06:00
|
|
|
enjoyable.
|
|
|
|
|
2012-08-14 04:13:50 -05:00
|
|
|
|
|
|
|
### Manual Installation
|
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
To install manually, check out this repository and add this to your
|
|
|
|
`.emacs` file:
|
2012-01-16 05:44:24 -06:00
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
```lisp
|
|
|
|
(add-to-list 'load-path "/path/to/rust-mode/")
|
2014-05-03 15:36:54 -05:00
|
|
|
(autoload 'rust-mode "rust-mode" nil t)
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode))
|
2013-09-13 19:42:40 -05:00
|
|
|
```
|
2012-01-16 05:44:24 -06:00
|
|
|
|
2014-05-03 15:36:54 -05:00
|
|
|
This associates `rust-mode` with `.rs` files. To enable it explicitly, do
|
|
|
|
<kbd>M-x rust-mode</kbd>.
|
2012-08-14 04:13:50 -05:00
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
### `package.el` installation via Marmalade or MELPA
|
2012-08-14 04:13:50 -05:00
|
|
|
|
|
|
|
It can be more convenient to use Emacs's package manager to handle
|
2012-08-14 13:12:10 -05:00
|
|
|
installation for you if you use many elisp libraries. If you have
|
2013-09-13 19:42:40 -05:00
|
|
|
`package.el` but haven't added Marmalade or MELPA, the community
|
|
|
|
package source, yet, add this to `~/.emacs.d/init.el`:
|
2012-08-14 04:13:50 -05:00
|
|
|
|
2012-08-16 01:12:08 -05:00
|
|
|
Using Marmalade:
|
|
|
|
|
2012-08-14 04:13:50 -05:00
|
|
|
```lisp
|
|
|
|
(require 'package)
|
|
|
|
(add-to-list 'package-archives
|
|
|
|
'("marmalade" . "http://marmalade-repo.org/packages/"))
|
|
|
|
(package-initialize)
|
|
|
|
```
|
|
|
|
|
2012-08-16 01:12:08 -05:00
|
|
|
Using MELPA:
|
|
|
|
|
|
|
|
```lisp
|
|
|
|
(require 'package)
|
|
|
|
(add-to-list 'package-archives
|
2012-08-16 01:34:48 -05:00
|
|
|
'("melpa" . "http://melpa.milkbox.net/packages/") t)
|
2012-08-16 01:12:08 -05:00
|
|
|
(package-initialize)
|
|
|
|
```
|
|
|
|
|
2012-08-14 13:12:10 -05:00
|
|
|
Then do this to load the package listing:
|
|
|
|
|
|
|
|
* <kbd>M-x eval-buffer</kbd>
|
|
|
|
* <kbd>M-x package-refresh-contents</kbd>
|
2012-08-14 04:13:50 -05:00
|
|
|
|
|
|
|
If you use a version of Emacs prior to 24 that doesn't include
|
2013-09-13 19:42:40 -05:00
|
|
|
`package.el`, you can get it from [here](http://bit.ly/pkg-el23).
|
2012-08-14 04:13:50 -05:00
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
If you have an older ELPA `package.el` installed from tromey.com, you
|
2012-08-14 04:13:50 -05:00
|
|
|
should upgrade in order to support installation from multiple sources.
|
|
|
|
The ELPA archive is deprecated and no longer accepting new packages,
|
|
|
|
so the version there (1.7.1) is very outdated.
|
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
#### Install `rust-mode`
|
2012-08-16 01:12:08 -05:00
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
One you have `package.el`, you can install `rust-mode` or any other
|
|
|
|
modes by choosing them from a list:
|
2012-08-16 01:12:08 -05:00
|
|
|
|
|
|
|
* <kbd>M-x package-list-packages</kbd>
|
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
Now, to install packages, move your cursor to them and press
|
|
|
|
<kbd>i</kbd>. This will mark the packages for installation. When
|
|
|
|
you're done with marking, press <kbd>x</kbd>, and ELPA will install
|
|
|
|
the packages for you (under `~/.emacs.d/elpa/`).
|
2012-08-16 01:12:08 -05:00
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
* or using <kbd>M-x package-install rust-mode</kbd>
|
2013-07-22 05:27:46 -05:00
|
|
|
|
2013-09-05 22:02:37 -05:00
|
|
|
### Tests via ERT
|
|
|
|
|
2013-09-13 19:42:40 -05:00
|
|
|
The file `rust-mode-tests.el` contains tests that can be run via
|
|
|
|
[ERT](http://www.gnu.org/software/emacs/manual/html_node/ert/index.html).
|
|
|
|
You can use `run_rust_emacs_tests.sh` to run them in batch mode, if
|
|
|
|
Emacs is somewhere in your `$PATH`.
|