Commit Graph

4388 Commits

Author SHA1 Message Date
Nick Cameron
bd29e16d16
Merge pull request #3171 from lqd/whitespace_jam
normalize_doc_attributes: remove whitespace from the doc comment opener
2018-11-06 10:12:35 +13:00
Stéphane Campinas
5a2ebdddcc
trim the start of a line when wrapping an item in preparation for formatting 2018-11-05 20:22:06 +01:00
Rémy Rakic
83d1d9aa14 normalize_doc_attributes: remove leading whitespace from the doc comment opener
Remove possible whitespace from the `CommentStyle::opener()` so that the literal itself has control over the comment's leading spaces.

This is most useful for tools, such as bindgen, to allow for example: machine-readable comments with precise syntax rules, or idempotently round-tripping between the proc-macro API and rustfmt.
2018-11-05 18:24:36 +01:00
Nick Cameron
2a34414b47
Merge pull request #3165 from scampi/alignment
fix alignment of a struct's fields with the visual style
2018-11-05 12:59:54 +13:00
Stéphane Campinas
7132fe03a0
fix alignment of a struct's fields with the visual style
- rewrite_with_alignment was called from the expr module with the wrong
  shape that missed the extra offset needed for the visual style
- rewrite_with_alignment was indenting the given shape although that
  should have been the caller's responsability
2018-11-04 23:41:21 +01:00
Nick Cameron
b8a133d432
Merge pull request #3145 from otavio/allow-failure-for-crater
CI: only run unit tests for `crater`
2018-11-02 10:08:39 +13:00
Otavio Salvador
c4dd45060d Travis CI: Move futures-rs out from allow-failures
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-11-01 17:56:54 -03:00
Otavio Salvador
693a2fc23a CI: Rework integration script so only lib unit tests are run for crater
Refs: https://github.com/rust-lang-nursery/crater/issues/358

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-11-01 16:48:21 -03:00
Nick Cameron
8506f5e5ce
Merge pull request #3159 from scampi/issue-3132
The method trim_left_preserve_layout didn't handle tabs properly.
2018-10-31 14:33:11 +13:00
Nick Cameron
2c471a559f
Merge pull request #3152 from topecongiro/do-not-override-edition-in-rustfmt-toml
Use edition in rustfmt.toml when no command line argument is passed
2018-10-31 13:31:24 +13:00
Stéphane Campinas
2d718a3fc2
The method trim_left_preserve_layout didn't handle tabs properly.
This is fixed by taking the method macros::indent_macro_snippet which
essentially does the same: it indents a paragraph while preserving the
layout.
2018-10-30 20:24:03 +01:00
Seiichi Uchida
b2706ebecc
Merge pull request #3155 from emilio/missed-spans-bug
missed-spans: Fix bogus check.
2018-10-30 15:26:53 +09:00
Emilio Cobos Álvarez
4a82252f03
missed-spans: Fix bogus check.
I don't really know what it's trying to do, but forgetting about everything
you've seen before when you see whitespace followed by a semicolon doesn't look
right to me, and absolutely no tests were hitting that.

This check was introduced in 5ecdd072d6, however
it was wrong even at that point, and now rustfmt still passes that test,
regardless of macro name.

Fixes #3154.
2018-10-30 03:21:28 +01:00
Seiichi Uchida
7bf0d308f8
Merge pull request #3150 from flip1995/patch-1
Remove deprecated cfg_attr from README
2018-10-29 23:01:51 +09:00
Seiichi Uchida
6fa804deba Use edition in rustfmt.toml when no command line argument is passed 2018-10-29 22:53:29 +09:00
Philipp Krones
9adf96d961
Remove deprecated cfg_attr from README
`tool_attributes` are stable since 1.30. The old `cfg_attr(rustfmt, rustfmt_skip)` attributes aren't necessary anymore and everyone should switch to `#[rustfmt::skip]` sooner or later.

There is also a Clippy lint in the making for this: rust-lang-nursery/rust-clippy#3123
2018-10-29 10:27:19 +01:00
Nick Cameron
1f64f4012f
Merge pull request #3141 from dfyz/issue-2810
Try to fix formatting failures on Windows (issue #2810)
2018-10-29 11:29:51 +13:00
Nick Cameron
bdd40493ca
Merge pull request #3144 from otavio/issues-3143
cargo-fmt: Fix splitting of targets across editions
2018-10-29 11:22:05 +13:00
Nick Cameron
42780f0b39
Merge pull request #3142 from topecongiro/issue-3139
Do not remove path disambiugator inside macro
2018-10-29 11:08:38 +13:00
Ivan Komarov
00a20bceff Fix formatting failures on Windows
When newline_style is set to Windows, an empty line inside of a macro
results in `\r` being passed to the `fold()` in `MacroBranch::rewrite()`.

`\r` is technically not an empty string, so we try to indent it, leaving
trailing whitespaces behind, even though that was not intended
(as far as I can see).

This commit replaces the `!l.is_empty()` check with calling
`is_empty_line()`, since trying to indent any whitespace-only string
will probably result in problematic trailing whitespaces.

Fixes: #2810
2018-10-28 02:37:55 +03:00
Otavio Salvador
12275f2e6a cargo-fmt: Fix splitting of targets across editions
When I reworked the code, it ended not generating the complete list of
need targets. Fix it.

Fixes: #3143.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-27 16:13:22 -03:00
Otavio Salvador
3efca8a596 cargo-fmt: Add --edition when printing the command
By mistake, it was forgotten to print out the edition in use when
printing the rustcmd command. Fix it.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-27 11:49:48 -03:00
Seiichi Uchida
5ca90edc5b Do not remove path disambiugator inside macro 2018-10-27 11:22:40 +09:00
Seiichi Uchida
131f11a6e5 Add a test for #3139 2018-10-27 11:22:18 +09:00
Nick Cameron
8fb1b179bf
Merge pull request #3140 from matthiaskrgr/redundant_clones
fix clippy::redundant_clones warnings.
2018-10-27 12:29:59 +13:00
Matthias Krüger
68638508d4 fix clippy::redundant_clones warnings. 2018-10-26 14:45:25 +02:00
Nick Cameron
593ac525ae
Merge pull request #3138 from topecongiro/issue-3137
Simplify handling of parens around generic bound trait
2018-10-26 21:26:26 +13:00
Seiichi Uchida
7093bbe2ff Simplify handling parens on generic bound trait 2018-10-26 16:39:35 +09:00
Seiichi Uchida
2d0487164f Add a test for #3137 2018-10-26 16:36:01 +09:00
Nick Cameron
284583fade
Merge pull request #3134 from otavio/issue-3104
Stabilize `edition` configuration option
2018-10-25 15:03:59 +13:00
Otavio Salvador
9c3ae2d951 Stabilize edition configuration option
Refs: #3104.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-24 22:49:17 -03:00
Nick Cameron
faac101984
Merge pull request #3133 from otavio/rework-readme
README: remove old requirement for Rust 2018 edition use
2018-10-25 14:35:42 +13:00
Otavio Salvador
b18935047c README: remove old requirement for Rust 2018 edition use
From now on, the `Cargo.toml` is taken into account when triggering
formatting using `cargo fmt`.

It is considered editor's duty to pass the proper `--edition` argument
for `rustfmt` if it is being called manually.

Refs: #3104.
Refs: #3129.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-24 21:59:43 -03:00
Nick Cameron
6739dbe77d
Merge pull request #3129 from otavio/issue-3104
cargo-fmt: detect Rust edition in use
2018-10-25 13:39:40 +13:00
Nick Cameron
fbeabe9547
Merge pull request #3113 from scampi/issue3105
Fix handling of code that is annotated with rustfmt::skip.
2018-10-25 12:09:12 +13:00
Otavio Salvador
de0b661bfa cargo-fmt: Take into account the edition for each target
When formatting the crate, with `cargo fmt`, it parses each target
with the specific Rust edition.

Fixes: #3104.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-24 10:01:08 -03:00
Stéphane Campinas
2f5d864c08
keep track of lines which formatting was disabled in order to prevent indentation which would cause code right-shifting 2018-10-24 12:11:11 +02:00
Stéphane Campinas
9c75a15f4c
Fix handling of code that is annotated with rustfmt::skip.
A rustfmt::skip'ed block is indented although original lines are
returned. In order to resolve this, the leading whitespaces are trimmed
on each line while retaining the layout; this leaves the skipped code
to be indented as necessary by the caller.
2018-10-24 12:11:11 +02:00
Nick Cameron
4789f65041
Merge pull request #3130 from JoshBrudnak/master
Added crates to the non-alphabetical treated imports
2018-10-24 18:13:42 +13:00
Nick Cameron
c3ad58c381
Remove the source test file 2018-10-24 18:13:26 +13:00
Nick Cameron
19d60f8137 Revert "Use width_heuristics in the options docs"
This reverts commit fa3cadf62c.
2018-10-24 15:07:09 +13:00
Nick Cameron
fe50729b6f
Merge pull request #3116 from kellerkindt/patch-1
Add howto for CLion / IntelliJ IDE integration
2018-10-24 15:01:14 +13:00
JoshBrudnak
ce54aea4c8 Added test for crate non-alphabetizing 2018-10-23 19:00:42 -04:00
kellerkindt
cb99316c8a Add howto for CLion / IntelliJ IDE integration 2018-10-24 00:34:01 +02:00
JoshBrudnak
799005f6ae Treat crates non-alphabetically Fixes: #3118 2018-10-23 07:10:00 -04:00
Otavio Salvador
e41fcb137c rustfmt: add support to specify the Rust edition as argument
The new `--edition` command line argument allow the setting of the
desired Rust edition to be used.

Refs: #3104.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:38 -03:00
Otavio Salvador
2eab9714e4 lib: export config::Edition so it can be used externally
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:36 -03:00
Otavio Salvador
584d871494 config: use 2015 as default Edition
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:33 -03:00
Otavio Salvador
38e7f249d2 Cargo.lock: update cargo_metadata to 0.6.1 release
The update is especially important as it adds support for the
`edition` field handling, when parsing `cargo` metadata.

Refs: #3104.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:30 -03:00
Otavio Salvador
e9fa99d8b8 rustfmt: avoid duplicating the error handling for --emit
There is no need to produce the error message again as it is already
produced by the helper method that does the emit mode validation.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:25 -03:00