2015-04-29 22:09:33 -05:00
|
|
|
# rustfmt
|
|
|
|
|
|
|
|
A tool for formatting Rust code according to style guidelines.
|
|
|
|
|
2015-08-31 21:42:58 -05:00
|
|
|
## Gotchas
|
|
|
|
* For things you do not want rustfmt to mangle, use
|
|
|
|
```rust
|
|
|
|
#[rustfmt_skip]
|
|
|
|
```
|
2015-09-14 02:38:32 -05:00
|
|
|
* When you run rustfmt use a file called rustfmt.toml to override the default settings of rustfmt.
|
2015-08-31 21:42:58 -05:00
|
|
|
* We create a functioning executable called rustfmt in the target directory
|
2015-04-29 22:09:33 -05:00
|
|
|
|
2015-08-31 21:42:58 -05:00
|
|
|
## How to build and test
|
|
|
|
You'll need a pretty up to date version of the **nightly** version of Rust.
|
2015-06-01 19:30:46 -05:00
|
|
|
|
2015-04-29 22:09:33 -05:00
|
|
|
`cargo build` to build.
|
|
|
|
|
|
|
|
`cargo test` to run all tests.
|
|
|
|
|
2015-08-18 14:10:30 -05:00
|
|
|
`cargo run -- filename` to run on a file, if the file includes out of line modules,
|
2015-04-29 22:09:33 -05:00
|
|
|
then we reformat those too. So to run on a whole module or crate, you just need
|
2015-08-31 21:42:58 -05:00
|
|
|
to run on the top file.
|
2015-04-29 22:09:33 -05:00
|
|
|
|
2015-08-18 14:10:30 -05:00
|
|
|
You'll probably want to specify the write mode. Currently, there are the replace,
|
|
|
|
overwrite and display mode. The replace mode is the default and overwrites the
|
|
|
|
original files after renaming them. In overwrite mode, rustfmt does not backup
|
|
|
|
the source files. To print the output to stdout, use the display mode. The write
|
|
|
|
mode can be set by passing the `--write-mode` flag on the command line.
|
|
|
|
|
|
|
|
`cargo run -- filename --write-mode=display` prints the output of rustfmt to the
|
|
|
|
screen, for example.
|