Commit Graph

4140 Commits

Author SHA1 Message Date
Kevin Stenerson cd8bb50aea Trim the indentation on macros which heuristically appear to use block-style indentation (#3178) 2018-11-07 17:49:53 +09:00
Nick Cameron 16d5f507b6 Merge pull request #3172 from scampi/issue3153
trim the start of a line when wrapping an item in preparation for formatting
2018-11-06 10:23:30 +13:00
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