`rustfmt.toml` or `.rustfmt.toml`, place it in the project or any other parent
directory and it will apply the options in that file. See `rustfmt
--help=config` for the options which are available, or if you prefer to see
-visual style previews, [Configurations.md](Configurations.md).
+visual style previews, [GitHub page](https://rust-lang.github.io/rustfmt/).
By default, Rustfmt uses a style which conforms to the [Rust style guide][style
guide] that has been formalized through the [style RFC
Configuration options are either stable or unstable. Stable options can always
be used, while unstable ones are only available on a nightly toolchain, and opt-in.
-See [Configurations.md](Configurations.md) for details.
+See [GitHub page](https://rust-lang.github.io/rustfmt/) for details.
### Rust's Editions
## Tips
* For things you do not want rustfmt to mangle, use `#[rustfmt::skip]`
-* To prevent rustfmt from formatting a macro,
- use `#[rustfmt::skip::macros(target_macro_name)]`
+* To prevent rustfmt from formatting a macro or an attribute,
+ use `#[rustfmt::skip::macros(target_macro_name)]` or
+ `#[rustfmt::skip::attributes(target_attribute_name)]`
Example:
```rust
+ #![rustfmt::skip::attributes(custom_attribute)]
+
+ #[custom_attribute(formatting , here , should , be , Skipped)]
#[rustfmt::skip::macros(html)]
fn main() {
let macro_result1 = html! { <div>