mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-02 11:44:28 +00:00
commit
d13020cd31
10
CHANGELOG.md
10
CHANGELOG.md
@ -176,7 +176,7 @@ https://rust-lang.github.io/rustfmt/?version=v1.4.33&search=#imports_granularity
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Original comment indentation for trailing comments within an `if` is now taken into account when determining the indentation level to use for the trailing comment in formatted code. This does not modify any existing code formatted with rustfmt; it simply gives the programmer discretion to specify whether the comment is associated to the `else` block, or if the trailing comment is just a member of the `if` block. ([#1575](https://github.com/rust-lang/rustfmt/issues/1575), [#4120](https://github.com/rust-lang/rustfmt/issues/4120), [#4506](https://github.com/rust-lang/rustfmt/issues/4506))
|
- Original comment indentation for trailing comments within an `if` is now taken into account when determining the indentation level to use for the trailing comment in formatted code. This does not modify any existing code formatted with rustfmt; it simply gives the programmer discretion to specify whether the comment is associated to the `else` block, or if the trailing comment is just a member of the `if` block. ([#1575](https://github.com/rust-lang/rustfmt/issues/1575), [#4120](https://github.com/rust-lang/rustfmt/issues/4120), [#4506](https://github.com/rust-lang/rustfmt/issues/4506))
|
||||||
|
|
||||||
In this example the `// else comment` refers to the `else`:
|
In this example the `// else comment` refers to the `else`:
|
||||||
```rust
|
```rust
|
||||||
@ -213,7 +213,7 @@ if toks.eat_token(Token::Word("modify"))? && toks.eat_token(Token::Word("labels"
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Formatting of empty blocks with attributes which only contained comments is no longer butchered.([#4475](https://github.com/rust-lang/rustfmt/issues/4475), [#4467](https://github.com/rust-lang/rustfmt/issues/4467), [#4452](https://github.com/rust-lang/rustfmt/issues/4452#issuecomment-705886282), [#4522](https://github.com/rust-lang/rustfmt/issues/4522))
|
- Formatting of empty blocks with attributes which only contained comments is no longer butchered.([#4475](https://github.com/rust-lang/rustfmt/issues/4475), [#4467](https://github.com/rust-lang/rustfmt/issues/4467), [#4452](https://github.com/rust-lang/rustfmt/issues/4452#issuecomment-705886282), [#4522](https://github.com/rust-lang/rustfmt/issues/4522))
|
||||||
- Indentation of trailing comments in non-empty extern blocks is now correct. ([#4120](https://github.com/rust-lang/rustfmt/issues/4120#issuecomment-696491872))
|
- Indentation of trailing comments in non-empty extern blocks is now correct. ([#4120](https://github.com/rust-lang/rustfmt/issues/4120#issuecomment-696491872))
|
||||||
|
|
||||||
### Install/Download Options
|
### Install/Download Options
|
||||||
- **crates.io package** - *pending*
|
- **crates.io package** - *pending*
|
||||||
@ -297,7 +297,7 @@ if toks.eat_token(Token::Word("modify"))? && toks.eat_token(Token::Word("labels"
|
|||||||
- Fix aligning comments of different group
|
- Fix aligning comments of different group
|
||||||
- Fix flattening imports with a single `self`.
|
- Fix flattening imports with a single `self`.
|
||||||
- Fix removing attributes on function parameters.
|
- Fix removing attributes on function parameters.
|
||||||
- Fix removing `impl` keyword from opaque type.
|
- Fix removing `impl` keyword from opaque type.
|
||||||
|
|
||||||
## [1.4.8] 2019-09-08
|
## [1.4.8] 2019-09-08
|
||||||
|
|
||||||
@ -329,7 +329,7 @@ if toks.eat_token(Token::Word("modify"))? && toks.eat_token(Token::Word("labels"
|
|||||||
|
|
||||||
- Add `--message-format` command line option to `cargo-fmt`.
|
- Add `--message-format` command line option to `cargo-fmt`.
|
||||||
- Add `-l,--files-with-diff` command line option to `rustfmt`.
|
- Add `-l,--files-with-diff` command line option to `rustfmt`.
|
||||||
- Add `json` emit mode.
|
- Add `json` emit mode.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
@ -380,7 +380,7 @@ if toks.eat_token(Token::Word("modify"))? && toks.eat_token(Token::Word("labels"
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Add new attribute `rustfmt::skip::attributes` to prevent rustfmt
|
- Add new attribute `rustfmt::skip::attributes` to prevent rustfmt
|
||||||
from formatting an attribute #3665
|
from formatting an attribute #3665
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
@ -17,7 +17,7 @@ To enable unstable options, set `unstable_features = true` in `rustfmt.toml` or
|
|||||||
|
|
||||||
Below you find a detailed visual guide on all the supported configuration options of rustfmt:
|
Below you find a detailed visual guide on all the supported configuration options of rustfmt:
|
||||||
|
|
||||||
## `array_width`
|
## `array_width`
|
||||||
|
|
||||||
Maximum width of an array literal before falling back to vertical formatting.
|
Maximum width of an array literal before falling back to vertical formatting.
|
||||||
|
|
||||||
@ -25,11 +25,11 @@ Maximum width of an array literal before falling back to vertical formatting.
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `array_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `array_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
||||||
|
|
||||||
## `attr_fn_like_width`
|
## `attr_fn_like_width`
|
||||||
|
|
||||||
Maximum width of the args of a function-like attributes before falling back to vertical formatting.
|
Maximum width of the args of a function-like attributes before falling back to vertical formatting.
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ Maximum width of the args of a function-like attributes before falling back to v
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `attr_fn_like_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `attr_fn_like_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
||||||
|
|
||||||
@ -295,7 +295,7 @@ where
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## `chain_width`
|
## `chain_width`
|
||||||
|
|
||||||
Maximum width of a chain to fit on one line.
|
Maximum width of a chain to fit on one line.
|
||||||
|
|
||||||
@ -303,7 +303,7 @@ Maximum width of a chain to fit on one line.
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `chain_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `chain_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
||||||
|
|
||||||
@ -751,7 +751,7 @@ trait Lorem {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## `fn_call_width`
|
## `fn_call_width`
|
||||||
|
|
||||||
Maximum width of the args of a function call before falling back to vertical formatting.
|
Maximum width of the args of a function call before falling back to vertical formatting.
|
||||||
|
|
||||||
@ -759,7 +759,7 @@ Maximum width of the args of a function call before falling back to vertical for
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `fn_call_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `fn_call_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
||||||
|
|
||||||
@ -2124,7 +2124,7 @@ Don't reformat out of line modules
|
|||||||
- **Possible values**: `true`, `false`
|
- **Possible values**: `true`, `false`
|
||||||
- **Stable**: No (tracking issue: #3389)
|
- **Stable**: No (tracking issue: #3389)
|
||||||
|
|
||||||
## `single_line_if_else_max_width`
|
## `single_line_if_else_max_width`
|
||||||
|
|
||||||
Maximum line length for single line if-else expressions. A value of `0` (zero) results in if-else expressions always being broken into multiple lines. Note this occurs when `use_small_heuristics` is set to `Off`.
|
Maximum line length for single line if-else expressions. A value of `0` (zero) results in if-else expressions always being broken into multiple lines. Note this occurs when `use_small_heuristics` is set to `Off`.
|
||||||
|
|
||||||
@ -2132,7 +2132,7 @@ Maximum line length for single line if-else expressions. A value of `0` (zero) r
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `single_line_if_else_max_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `single_line_if_else_max_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
||||||
|
|
||||||
@ -2313,7 +2313,7 @@ fn main() {
|
|||||||
|
|
||||||
See also: [`indent_style`](#indent_style).
|
See also: [`indent_style`](#indent_style).
|
||||||
|
|
||||||
## `struct_lit_width`
|
## `struct_lit_width`
|
||||||
|
|
||||||
Maximum width in the body of a struct literal before falling back to vertical formatting. A value of `0` (zero) results in struct literals always being broken into multiple lines. Note this occurs when `use_small_heuristics` is set to `Off`.
|
Maximum width in the body of a struct literal before falling back to vertical formatting. A value of `0` (zero) results in struct literals always being broken into multiple lines. Note this occurs when `use_small_heuristics` is set to `Off`.
|
||||||
|
|
||||||
@ -2321,11 +2321,11 @@ Maximum width in the body of a struct literal before falling back to vertical fo
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `struct_lit_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `struct_lit_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width), [`use_small_heuristics`](#use_small_heuristics), and [`struct_lit_single_line`](#struct_lit_single_line)
|
See also [`max_width`](#max_width), [`use_small_heuristics`](#use_small_heuristics), and [`struct_lit_single_line`](#struct_lit_single_line)
|
||||||
|
|
||||||
## `struct_variant_width`
|
## `struct_variant_width`
|
||||||
|
|
||||||
Maximum width in the body of a struct variant before falling back to vertical formatting. A value of `0` (zero) results in struct literals always being broken into multiple lines. Note this occurs when `use_small_heuristics` is set to `Off`.
|
Maximum width in the body of a struct variant before falling back to vertical formatting. A value of `0` (zero) results in struct literals always being broken into multiple lines. Note this occurs when `use_small_heuristics` is set to `Off`.
|
||||||
|
|
||||||
@ -2333,7 +2333,7 @@ Maximum width in the body of a struct variant before falling back to vertical fo
|
|||||||
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
- **Possible values**: any positive integer that is less than or equal to the value specified for [`max_width`](#max_width)
|
||||||
- **Stable**: Yes
|
- **Stable**: Yes
|
||||||
|
|
||||||
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `struct_variant_width` will take precedence.
|
By default this option is set as a percentage of [`max_width`](#max_width) provided by [`use_small_heuristics`](#use_small_heuristics), but a value set directly for `struct_variant_width` will take precedence.
|
||||||
|
|
||||||
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
See also [`max_width`](#max_width) and [`use_small_heuristics`](#use_small_heuristics)
|
||||||
|
|
||||||
@ -2530,7 +2530,7 @@ fn main() {
|
|||||||
|
|
||||||
This option can be used to simplify the management and bulk updates of the granular width configuration settings ([`fn_call_width`](#fn_call_width), [`attr_fn_like_width`](#attr_fn_like_width), [`struct_lit_width`](#struct_lit_width), [`struct_variant_width`](#struct_variant_width), [`array_width`](#array_width), [`chain_width`](#chain_width), [`single_line_if_else_max_width`](#single_line_if_else_max_width)), that respectively control when formatted constructs are multi-lined/vertical based on width.
|
This option can be used to simplify the management and bulk updates of the granular width configuration settings ([`fn_call_width`](#fn_call_width), [`attr_fn_like_width`](#attr_fn_like_width), [`struct_lit_width`](#struct_lit_width), [`struct_variant_width`](#struct_variant_width), [`array_width`](#array_width), [`chain_width`](#chain_width), [`single_line_if_else_max_width`](#single_line_if_else_max_width)), that respectively control when formatted constructs are multi-lined/vertical based on width.
|
||||||
|
|
||||||
Note that explicitly provided values for the width configuration settings take precedence and override the calculated values determined by `use_small_heuristics`.
|
Note that explicitly provided values for the width configuration settings take precedence and override the calculated values determined by `use_small_heuristics`.
|
||||||
|
|
||||||
- **Default value**: `"Default"`
|
- **Default value**: `"Default"`
|
||||||
- **Possible values**: `"Default"`, `"Off"`, `"Max"`
|
- **Possible values**: `"Default"`, `"Off"`, `"Max"`
|
||||||
@ -2595,7 +2595,7 @@ fn main() {
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### `Off`:
|
#### `Off`:
|
||||||
When `use_small_heuristics` is set to `Off`, the granular width settings are functionally disabled and ignored. See the documentation for the respective width config options for specifics.
|
When `use_small_heuristics` is set to `Off`, the granular width settings are functionally disabled and ignored. See the documentation for the respective width config options for specifics.
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
enum Lorem {
|
enum Lorem {
|
||||||
|
@ -38,7 +38,7 @@ colourised diff will be printed so that the offending line(s) can quickly be
|
|||||||
identified.
|
identified.
|
||||||
|
|
||||||
Without explicit settings, the tests will be run using rustfmt's default
|
Without explicit settings, the tests will be run using rustfmt's default
|
||||||
configuration. It is possible to run a test using non-default settings in several
|
configuration. It is possible to run a test using non-default settings in several
|
||||||
ways. Firstly, you can include configuration parameters in comments at the top
|
ways. Firstly, you can include configuration parameters in comments at the top
|
||||||
of the file. For example: to use 3 spaces per tab, start your test with
|
of the file. For example: to use 3 spaces per tab, start your test with
|
||||||
`// rustfmt-tab_spaces: 3`. Just remember that the comment is part of the input,
|
`// rustfmt-tab_spaces: 3`. Just remember that the comment is part of the input,
|
||||||
|
@ -150,8 +150,8 @@ for its configuration.
|
|||||||
|
|
||||||
Our visitor keeps track of the desired current indent due to blocks (
|
Our visitor keeps track of the desired current indent due to blocks (
|
||||||
`block_indent`). Each `visit_*` method reformats code according to this indent,
|
`block_indent`). Each `visit_*` method reformats code according to this indent,
|
||||||
`config.comment_width()` and `config.max_width()`. Most reformatting that is done
|
`config.comment_width()` and `config.max_width()`. Most reformatting that is done
|
||||||
in the `visit_*` methods is a bit hacky and is meant to be temporary until it can
|
in the `visit_*` methods is a bit hacky and is meant to be temporary until it can
|
||||||
be done properly.
|
be done properly.
|
||||||
|
|
||||||
There are a bunch of methods called `rewrite_*`. They do the bulk of the
|
There are a bunch of methods called `rewrite_*`. They do the bulk of the
|
||||||
|
@ -180,13 +180,13 @@ needs to be specified in `rustfmt.toml`, e.g., with `edition = "2018"`.
|
|||||||
|
|
||||||
* For things you do not want rustfmt to mangle, use `#[rustfmt::skip]`
|
* For things you do not want rustfmt to mangle, use `#[rustfmt::skip]`
|
||||||
* To prevent rustfmt from formatting a macro or an attribute,
|
* To prevent rustfmt from formatting a macro or an attribute,
|
||||||
use `#[rustfmt::skip::macros(target_macro_name)]` or
|
use `#[rustfmt::skip::macros(target_macro_name)]` or
|
||||||
`#[rustfmt::skip::attributes(target_attribute_name)]`
|
`#[rustfmt::skip::attributes(target_attribute_name)]`
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
#![rustfmt::skip::attributes(custom_attribute)]
|
#![rustfmt::skip::attributes(custom_attribute)]
|
||||||
|
|
||||||
#[custom_attribute(formatting , here , should , be , Skipped)]
|
#[custom_attribute(formatting , here , should , be , Skipped)]
|
||||||
#[rustfmt::skip::macros(html)]
|
#[rustfmt::skip::macros(html)]
|
||||||
|
@ -15,7 +15,7 @@ set -ex
|
|||||||
# it again.
|
# it again.
|
||||||
#
|
#
|
||||||
#which cargo-fmt || cargo install --force
|
#which cargo-fmt || cargo install --force
|
||||||
CFG_RELEASE=nightly CFG_RELEASE_CHANNEL=nightly cargo install --path . --force
|
CFG_RELEASE=nightly CFG_RELEASE_CHANNEL=nightly cargo install --path . --force
|
||||||
|
|
||||||
echo "Integration tests for: ${INTEGRATION}"
|
echo "Integration tests for: ${INTEGRATION}"
|
||||||
cargo fmt -- --version
|
cargo fmt -- --version
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
outputHtml() {
|
outputHtml() {
|
||||||
const ast = this.configurationDescriptions
|
const ast = this.configurationDescriptions
|
||||||
.filter(({ head, text, stable }) => {
|
.filter(({ head, text, stable }) => {
|
||||||
|
|
||||||
if (
|
if (
|
||||||
text.includes(this.searchCondition) === false &&
|
text.includes(this.searchCondition) === false &&
|
||||||
head.includes(this.searchCondition) === false
|
head.includes(this.searchCondition) === false
|
||||||
@ -105,7 +105,7 @@
|
|||||||
},
|
},
|
||||||
created: async function() {
|
created: async function() {
|
||||||
const res = await axios.get(ConfigurationMdUrl);
|
const res = await axios.get(ConfigurationMdUrl);
|
||||||
const {
|
const {
|
||||||
about,
|
about,
|
||||||
configurationAbout,
|
configurationAbout,
|
||||||
configurationDescriptions
|
configurationDescriptions
|
||||||
@ -144,7 +144,7 @@
|
|||||||
const lastIndex = stack.length - 1;
|
const lastIndex = stack.length - 1;
|
||||||
stack[lastIndex].push(next);
|
stack[lastIndex].push(next);
|
||||||
return stack;
|
return stack;
|
||||||
},
|
},
|
||||||
[[]]);
|
[[]]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@
|
|||||||
configurationAbout, ...configurationDescriptions
|
configurationAbout, ...configurationDescriptions
|
||||||
] = configurations;
|
] = configurations;
|
||||||
configurationAbout.value.links = {};
|
configurationAbout.value.links = {};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
about,
|
about,
|
||||||
configurationAbout: configurationAbout.value,
|
configurationAbout: configurationAbout.value,
|
||||||
|
Loading…
Reference in New Issue
Block a user