Commit graph

1507 commits

Author SHA1 Message Date
topecongiro
5df0a18849 Avoid putting a long macro call in a single line 2019-01-28 23:05:39 +09:00
Seiichi Uchida
203e6d265d
Merge pull request #3294 from rchaser53/issue-3278
change new line point in the case of no args
2019-01-27 16:28:28 +09:00
Seiichi Uchida
35d5ef7828
Apply rustfmt::skip on imports (#3289) 2019-01-27 16:26:09 +09:00
rchaser53
f92f3e3bda add the version gate to the code and test 2019-01-27 14:38:57 +09:00
rchaser53
7b996542cc change new line point in the case of no args 2019-01-26 00:16:51 +09:00
Nick Cameron
d2e91b5b68
Merge pull request #3284 from scampi/issue-3270
recognize strings inside comments in order to avoid indenting them
2019-01-17 20:22:36 +13:00
Stéphane Campinas
083a20fb1a
version-gate the formatting of commented strings 2019-01-16 23:06:28 +01:00
wada314
a01990c4d0 Use Unicode-standard char width to wrap comments or strings. (#3275) 2019-01-15 08:41:09 +09:00
Stéphane Campinas
503cddeb0f
Merge pull request #3225 from scampi/issue-3224
rewrite_comment: fix block fallback when failing to rewrite an itemized block
2019-01-14 14:41:00 +01:00
Stéphane Campinas
baa62c609e
recognize strings inside comments in order to avoid indenting them
Close #3270
2019-01-10 21:04:16 +01:00
Nick Cameron
2c204c11d1
Merge pull request #3260 from topecongiro/issue-3004
Do not modify original source code inside macro call
2019-01-07 17:39:05 +13:00
Stéphane Campinas
3b18238009
simplify function to create a string from the itemized block 2018-12-25 23:15:52 +01:00
Seiichi Uchida
996d5e8d6c
Fix shape when formatting return or break expr on statement position (#3259) 2018-12-25 18:20:29 +09:00
wada314
09c9cd4125 Fix issue #3263 (#3264) 2018-12-25 18:03:48 +09:00
Shohei Wada
6a316e3ac7 Add test cases. 2018-12-24 06:18:00 +09:00
topecongiro
30cda580bd Add a test for #3004 2018-12-20 01:13:18 +09:00
Stéphane Campinas
b73a602d6e
version-gate the trailing semicolon change of return statements inside a match arm 2018-12-14 09:54:23 +01:00
Stéphane Campinas
d03d9a45ef
end expressions like return/continue/break with a semicolon
Close #3213
2018-11-29 20:39:07 +01:00
Stéphane Campinas
40174e9481
fix the visitor's starting position when visiting a labelled block
Close #3217
2018-11-28 22:50:17 +01:00
Nick Cameron
378994b858 Add a version option 2018-11-27 14:18:14 +13:00
Nick Cameron
3d01fc186a
Merge pull request #3177 from kestred/kstenerson/preserve-brace-leading-ws
Format brace-delimited macros with a space after the name
2018-11-19 13:35:09 +13:00
Seiichi Uchida
1dd54e67a1
Prefer to break arguments over putting output type on the next line (#3190) 2018-11-18 21:31:40 +09:00
Kevin Stenerson
bc5124e016 Always enforce exactly one space between macro! and braces ({}) 2018-11-17 11:53:11 -07:00
Kevin Stenerson
1a3bc79c68 Preserve possibly one whitespace for brace macros 2018-11-16 14:57:43 -07:00
Nick Cameron
5dbe107f56 test for #3128 2018-11-15 21:38:23 +13:00
Stéphane Campinas
a4e97fa17b
compute the span after a struct-like item based on the ident description 2018-11-13 21:10:30 +01:00
Stéphane Campinas
d121d7205f
fix logic for adding or not a newline after a missed span 2018-11-09 20:50:07 +01:00
Nick Cameron
4e2f741917
Merge pull request #3175 from kestred/kstenerson/delimited-overflow
Add config option to more aggressively allow overflow
2018-11-09 15:46:23 +13:00
Kevin Stenerson
3330e6717e Add tests that include comments before the overflow-able params 2018-11-08 19:38:01 -07:00
Nick Cameron
6efc963245
Merge pull request #3188 from scampi/issue3124
do not add a newline after a missed span if it is the end of a block comment
2018-11-09 15:26:05 +13:00
Nick Cameron
c4cc479fcd
Merge pull request #3183 from scampi/issue3182
do not wrap comments in doctest to avoid failing doctest runs
2018-11-09 15:14:44 +13:00
Stéphane Campinas
f570438e75
do not add a newline after a missed span if it is the end of a block comment 2018-11-08 22:44:59 +01:00
Alan Du
3986e690d1 Do not count /*/ as both start and end comment (#3185) 2018-11-08 14:28:08 +09:00
Stéphane Campinas
a5043a81be
do not wrap comments in doctest to avoid failing doctest runs 2018-11-07 16:48:39 +01:00
Stéphane Campinas
9467033a8e
fix the logic for retaining a comment before the arrow in a match 2018-11-07 15:00:33 +01:00
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
Kevin Stenerson
25b828d35f Add config option to more aggressively allow overflow 2018-11-05 21:12:40 -07: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
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
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
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
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
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
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
Seiichi Uchida
131f11a6e5 Add a test for #3139 2018-10-27 11:22:18 +09:00
Seiichi Uchida
2d0487164f Add a test for #3137 2018-10-26 16:36:01 +09: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
c3ad58c381
Remove the source test file 2018-10-24 18:13:26 +13:00