From 06b3b60558f40e6eb1ac9b4720da0ae1fff08a29 Mon Sep 17 00:00:00 2001 From: brotzeit Date: Fri, 11 Oct 2019 11:28:23 +0200 Subject: update readme (#327) --- README.md | 103 ++++++++++++++++++++++---------------------------------------- 1 file changed, 37 insertions(+), 66 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 34e3f92..34a3fc2 100644 --- a/README.md +++ b/README.md @@ -1,96 +1,67 @@ -`rust-mode`: A major Emacs mode for editing Rust source code -============================================================ +[![MELPA](https://melpa.org/packages/rust-mode-badge.svg)](https://melpa.org/#/rust-mode) -`rust-mode` makes editing [Rust](http://rust-lang.org) code with Emacs -enjoyable. `rust-mode` requires Emacs 24 or later. - -## Installation - -### Manual Installation +# Emacs mode for editing Rust source code -To install manually, check out this repository and add this to your -`.emacs` file: + +**Table of Contents** -```lisp -(add-to-list 'load-path "/path/to/rust-mode/") -(autoload 'rust-mode "rust-mode" nil t) -(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode)) -``` +- [Installation via MELPA](#installation-via-melpa) +- [Manual Installation](#manual-installation) +- [rustfmt](#rustfmt) +- [Tests](#tests) +- [Other useful packages](#other-useful-packages) -This associates `rust-mode` with `.rs` files. To enable it explicitly, do -M-x rust-mode. + -### `package.el` installation via MELPA +# Installation via MELPA -It can be more convenient to use Emacs's package manager to handle -installation for you if you use many elisp libraries. If you have -`package.el` but haven't added MELPA, the community -package source, yet, add this to `~/.emacs.d/init.el`: +`rust-mode` makes editing [Rust](http://rust-lang.org) code with Emacs +enjoyable. It requires Emacs 24 or later. +The package is available on MELPA. Add this to your init.el. -```lisp +``` elisp (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) +(package-refresh-contents) ``` -Then do this to load the package listing: - -* M-x eval-buffer -* M-x package-refresh-contents +Now you can install `rust-mode` with: -#### MELPA stable +`M-x package-install rust-mode` -MELPA stable only updates when a new version tag is created. There isn't a -specified frequency for this project to release versions; if you are a MELPA -stable user and feel that the last release tag is too far out of date, open a -pull request that updates the version header in `rust-mode.el` and note that a -new version tag should be added when the request is merged. -See [Pull Request #178](https://github.com/rust-lang/rust-mode/pull/178) (the -first such pull request)) for an example of this. +And put this in your config to load rust-mode automatically: -#### Install `rust-mode` +`(require 'rust-mode)` -One you have `package.el`, you can install `rust-mode` or any other -modes by choosing them from a list: +# Manual Installation -* M-x package-list-packages +Add this to your init.el: -Now, to install packages, move your cursor to them and press -i. This will mark the packages for installation. When -you're done with marking, press x, and ELPA will install -the packages for you (under `~/.emacs.d/elpa/`). +``` elisp +(add-to-list 'load-path "/path/to/rust-mode/") +(autoload 'rust-mode "rust-mode" nil t) +``` -* or using M-x package-install rust-mode +# rustfmt -### Package installation on Debian +The `rust-format-buffer` function will format your code with +[rustfmt](https://github.com/rust-lang/rustfmt) if installed. By default, +this is bound to `C-c C-f`. -```bash -apt install elpa-rust-mode -``` +Placing `(setq rust-format-on-save t)` in your init.el will enable automatic +running of `rust-format-buffer` when you save a buffer. -### Tests via ERT +# Tests 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 you set the environment variable EMACS to a program that runs emacs. -## Features - -### Formatting with [rustfmt][rfmt] - -The `rust-format-buffer` function will format your code with -[rustfmt][rfmt] if installed. By default, this is bound to `C-c C-f`. - -Placing `(setq rust-format-on-save t)` in your `~/.emacs` will enable automatic -running of `rust-format-buffer` when you save a buffer. - -[rfmt]: https://crates.io/crates/rustfmt/ - -## License - -`rust-mode` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). +# Other useful packages -See [LICENSE-MIT](LICENSE-MIT) and [LICENSE-APACHE](LICENSE-APACHE) for details. +[cargo.el](https://github.com/kwrooijen/cargo.el) Emacs Minor Mode for Cargo, Rust's Package Manager +[emacs-racer](https://github.com/racer-rust/emacs-racer) Racer support for Emacs +[rustic](https://github.com/brotzeit/rustic) Rust development environment for Emacs -- cgit v1.2.3