Commit Graph

455 Commits

Author SHA1 Message Date
topecongiro
b48f4e03b3 Add tests for issues which can be closed on master 2017-05-04 14:32:13 +09:00
Nick Cameron
8579c1db0e Merge pull request #1495 from topecongiro/poor-formatting/closure
Fix weird indentation inside closures
2017-05-04 17:15:58 +12:00
Sheng Hau
51815effbe Format macros in trait item position 2017-05-04 00:10:03 +08:00
topecongiro
6d14ac84a4 Update tests 2017-05-03 11:30:17 +09:00
Nick Cameron
59d66c3ae8 Merge pull request #1453 from topecongiro/bug/empty-struct-with-comment
Handle empty tuple struct def with comment properly
2017-05-02 13:49:15 +12:00
topecongiro
93dae1a34d Add test for empty tuple struct with comment 2017-05-02 10:21:39 +09:00
Seiichi Uchida
19599b9a01 Use block when arm exceeds max_width 2017-05-02 10:15:31 +09:00
Nick Cameron
b4794dbd9f Fixup tests 2017-05-02 11:42:38 +12:00
Nick Cameron
5071c41cf8 Merge pull request #1471 from regexident/type_punctuation_density
Made `type_punctuation_density` apply too all `+` in types
2017-05-02 11:17:35 +12:00
Vincent Esche
42dbe482e3 Made type_punctuation_density apply too all + in types 2017-05-02 01:03:46 +02:00
Nick Cameron
4ad17b1efb Merge pull request #1482 from regexident/configs-tests
Add source/target tests for each config option
2017-05-02 11:00:09 +12:00
Nick Cameron
7fb288f0b3 Merge pull request #1487 from topecongiro/issue1470
Use block indent when visual indent exceeds max_width
2017-05-02 10:45:23 +12:00
Nick Cameron
c546f1b396 Merge pull request #1454 from topecongiro/match
Format nested mathces properly.
2017-05-02 10:40:31 +12:00
Vincent Esche
16b91be3e6 Add source/target tests for each config option 2017-05-01 15:58:04 +02:00
Seiichi Uchida
c7e9bcadaa Use block indent when visual indent exceeds max_width 2017-05-01 18:52:43 +09:00
topecongiro
9befcded8c Add tests for visual indent struct tuple 2017-05-01 15:57:08 +09:00
topecongiro
3d2cd681ae Use 'first_line_width' 2017-05-01 15:36:40 +09:00
Nick Cameron
5d9a35050d Remove where_indent option 2017-05-01 16:05:38 +12:00
Stanislav Tkach
b53aeebbcf Fix line length calculation (should be in chars, not bytes) 2017-04-19 17:49:03 +03:00
Nick Cameron
bdcb8d663e Merge pull request #1438 from topecongiro/poor-formatting/method-chains
Lookup the last element of 'subexpr_list' instead of the first one
2017-04-06 21:26:13 +12:00
Nick Cameron
ee9daade35 Fix a bug with overlong function calls 2017-04-06 21:17:22 +12:00
Nick Cameron
a7183766b9 Test fallout 2017-04-06 13:06:11 +12:00
topecongiro
8d22e85e48 Lookup the last element of 'subexpr_list' instead of the first one
Closes #1217, #1236, #1389 and #1434.
2017-04-06 09:26:25 +09:00
Ryan1729
822b266a3d add tests that fail because of comma insertion
Signed-off-by: Ryan1729 <Ryan1729@gmail.com>
2017-04-03 16:15:11 -06:00
topecongiro
34b90d8716 Check existence of pre comment explicitly
This commit fixes #1428.
2017-03-31 21:57:29 +09:00
Nick Cameron
4f226eb909 Merge pull request #1424 from topecongiro/long-struct
Split long fields in structs
2017-03-31 08:42:40 +13:00
topecongiro
3a1ffa7db7 Split long fields in structs
This commit splits long fields in structs.
Closes #1412.
2017-03-30 13:37:34 +09:00
Fabian Zaiser
6ecc18c7de Omit space before '\n' + comment (fixes #457) 2017-03-28 16:32:12 +02:00
Nick Cameron
5305bc8436 test fallout 2017-03-28 11:25:59 +13:00
Nick Cameron
a079b87e7c Use a char len heuristic rather than item count for chain_one_line_max 2017-03-28 11:12:15 +13:00
Nick Cameron
8bca85c4b6 Support block indent for function calls
Uses the `fn_call_style` option.

Fixes #1358
2017-03-28 10:43:46 +13:00
C4K3
abca1deded Add indent_match_arms option (#1404)
Makes it optional whether to indent arms in match expressions. Setting this
to false may be desirable for people wishing to avoid double-indents, in
that if the match arm is a block, the block will cause an extra indentation
level, and if it isn't a block but just a single line, it's still easy to
see the logic at a glance.

This style is preferred in certain other languages with switch statements,
e.g. Linux style C and the most common Java style.
2017-03-26 18:32:29 +13:00
Nick Cameron
488c0b9546 Test and source fallout 2017-03-22 09:25:26 +13:00
Nick Cameron
4bb31a7231 Block indenting for struct lit patterns
Now follows struct_lit_style (and most other struct_lit_ options).

Required a fair bit of refactoring and bug fixes.

Fixes #1311
2017-03-22 09:25:26 +13:00
Nick Cameron
d4c5d572c8 Unify fn_args_layout and fn_arg_indent
Closes #1390
2017-03-20 11:59:08 +13:00
Nick Cameron
21ff1d43ba Unify a bunch of option types into IndentStyle 2017-03-20 11:46:39 +13:00
Nick Cameron
c986e895bb Remove FnArgLayoutStyle::BlockAlways 2017-03-20 11:35:53 +13:00
Nick Cameron
ce7b0aacd0 Remove BlockIndentStyle::Inherit 2017-03-20 11:23:44 +13:00
Nick Cameron
0cb6f56647 Block formatting for arrays
Fixes #1331
2017-03-20 10:26:19 +13:00
Nick Cameron
70085fca84 Try harder to format function sigs
Fixes #1363
2017-03-10 09:26:14 +13:00
Nick Cameron
e3aad6ee83 Be smarter about finding the span for .. in patterns
Fixes #1319
2017-03-09 15:49:58 +13:00
Nick Cameron
6025492245 Implement where_style Rfc 2017-03-09 14:21:20 +13:00
Nick Cameron
e7489356c6 Format glob imports
Fixes #1356
2017-03-08 10:12:42 +13:00
Nick Cameron
f2eac0513f Fix trailing comma tests 2017-03-02 14:27:33 +13:00
Nick Cameron
248f2aba56 Merge branch 'master' of github.com:rust-lang-nursery/rustfmt 2017-03-02 14:27:02 +13:00
Marcus Ball
b8da53ad78 Fix wrap_match_arms resulting in a missing comma (#1307)
* Fix match arms missing comma with "wrap_match_arms = false"

* remove assert; use body_suffix for comma

* basic test case for issue 1127
2017-03-01 09:46:10 +13:00
Nick Cameron
fbb2370d66 Some tests 2017-02-24 10:43:53 +13:00
Nick Cameron
6a58d91239 Coalesce trailing comma options 2017-02-24 10:31:23 +13:00
Nick Cameron
db10a0b9b2 Merge pull request #1325 from C4K3/master
Add error_on_line_overflow option
2017-02-23 14:46:24 +13:00
Nick Cameron
a7612cc773 more fallout 2017-02-23 13:15:48 +13:00
Sebastian Blunt
235f33b230
Make tests fail if rustfmt encounters an error
Previously tests would not fail if they encountered an error such as
LineOverflow or TrailingWhitespace. Making the tests error out will fix
this mismatch between running rustfmt for real and running the tests.

This also modifies all tests that previously contained errors so that
they no longer contain errors (in almost all of the tests this is
accomplished by setting error_on_line_overflow = false).
2017-02-19 19:57:02 +01:00
sinkuu
fad74c8ac9 Support field-init-shorthand (#1308) 2017-02-13 07:16:11 +13:00
Trevor Spiteri
6810c762df Handle multiline condition in let if else (fixes #1239) 2017-01-31 23:35:57 +01:00
Nick Cameron
e56ef44a3a Do not format string lits by default 2017-01-27 08:11:59 +13:00
Nick Cameron
1f3100d7bb Make string lit formatting fallible
This allows expressions containing string lits to wrap their content

Fixes #1282
2017-01-27 08:04:52 +13:00
Nick Cameron
2261947f6e Catch attributes before comments
Closes #1280
Closes #1284
2017-01-26 15:10:47 +13:00
Nick Cameron
49e86a1e65 Handle semicolons in macro statements
Fixes #1279
2017-01-18 10:38:46 +13:00
Nick Cameron
0b1d78bae1 Try hard to format impl signatures
Fixes #1249
2017-01-17 13:08:36 +13:00
Nick Cameron
29e8913695 Fix bug in identifying comments
Fixes 1233
2017-01-17 12:01:10 +13:00
Nick Cameron
0218a41d73 Add a more lightweight method for rewriting comments when we are not normalising
Fixes #652
2017-01-17 10:17:48 +13:00
Nick Cameron
d948485371 Allow empty blocks on one line in more places
In particular if they contain only a single-line comment.

Fixes #493
2017-01-16 16:37:58 +13:00
Nick Cameron
846d7ad387 make rustfmt-normalize_comments false by default 2017-01-16 14:50:27 +13:00
Nick Cameron
5349336192 Refactor if/else formatting
Removes else_if_brace_style from config options. Use control_brace_style instead.
2017-01-11 18:14:41 +13:00
sinkuu
7e2fcc27e1 Fix #1258 (#1266)
* Fix #1258

* Add test
2017-01-09 16:11:12 +13:00
Stepan Koltsov
ad46f9af95 Do not ignore space_before_bound in where clause (#1267) 2017-01-09 15:58:06 +13:00
Nick Cameron
21c085261b Remove self from use foo::bar::self;
Also adds the `normalize_imports` config option.

Fixes #1252
2017-01-06 17:02:56 +13:00
Nick Cameron
6ecf5b8e84 If a string goes over-width, give up formatting it
Logic here is that the original might be better and at best we'll only make it a different kind of bad.

Fixes #1237
2017-01-06 16:35:28 +13:00
Nick Cameron
32cb839855 Macros in types are possible
Fixes #1234
2017-01-06 16:06:09 +13:00
sinkuu
1358f1ac80 Fix #1259 (#1263)
* Use `Indent::block_indent` instead of adding `config.tab_spaces`

* Fix #1259 impl block closing brace placement
2017-01-04 09:20:02 +13:00
Erick Tryzelaar
e67ffcfb21 Update to the latest syntex module
One notable feature is this this adds support for the experimental
`let x = loop { ... break $expr; }` syntax. This also includes a
test for formatting all the break and continue variations.
2016-12-23 11:20:07 -08:00
Luke Clifton
56469a8745 Don't drop opening brace on long line matches. (#1228)
* Don't drop opening brace on long line matches.

Fixes #1225

* Added a test case for long match arms with braces on newline.
2016-11-28 13:47:38 +13:00
Bekh-Ivanov Aleksey
935286755c Stripping trailing commas and spaces from vec! elements (#1219)
* Stripping trailing commas and spaces from `vec!` elements

* Stripping trailing commas and spaces ONLY from `vec!` elements

* Added comment
2016-11-14 17:42:15 +13:00
Martin Wohli
6c32c02952 fix #1216: panic on comment starting with //* 2016-11-13 09:36:43 +01:00
Marcus Klaas
5fc9fa3770 Condense suffix strings of simple wildcards in patterns 2016-11-07 21:38:20 +01:00
Fraser Hutchison
f933d31115 Fixes #1184 where reordering import items could cause a panic.
Also extends an existing test to avoid regression.
2016-11-03 04:21:47 +00:00
Nick Cameron
8494d5f89c Merge pull request #1200 from efyang/strayspace
Remove extra whitespace after macro calls
2016-10-28 09:14:37 +13:00
Edward Yang
5ecdd072d6 Remove extra whitespace after macro calls 2016-10-27 02:40:08 -05:00
Edward Yang
1c83c76015 Stop extra newlines from being added after block comments (#1185) 2016-10-25 08:45:15 +13:00
Mikko Rantanen
4b1c669037 Add spaces_within_square_brackets config option. (#1191)
* Add spaces_within_square_brackets config option.

Enabling the config enforces spaces within various array/slice brackets.

* Fixed budget-calculations for [] spacing
2016-10-18 09:09:49 +13:00
Nick Cameron
23f01eddac Merge pull request #1188 from Rantanen/master
Add support for spaces_within_angle_brackets
2016-10-14 11:38:39 +13:00
Josh Chase
903e30b503 Quick fix for "impl Trait"
* Remove "TODO" conversion
* Add a couple of simple test cases

Fix courtesy of @signaraiona
2016-10-13 12:30:16 -07:00
Mikko Rantanen
d68d43c0a5 Added test for for< 'a > 2016-10-13 22:28:58 +03:00
Mikko Rantanen
636a828772 Add support for spaces_within_angle_brackets
Enabling the config adds spaces within type arguments: <>
2016-10-13 19:28:18 +03:00
Mikko Rantanen
7be202fa3c Add support for spaces_within_parens config (#1187)
* Add support for spaces_within_parens config

* Changes based on review comments
2016-10-13 14:34:08 +13:00
Philip Craig
c4a7a7108e Preserve macro formatting if we can't rewrite it 2016-10-03 14:14:56 +10:00
Florian Gilcher
b8f7ec3dcc Add custom comments (#1179)
* Add custom comments

This allows users to use custom comments such as

```
//@ this is a custom comment
//@ with multiple lines
```

without having them destroyed by rustfmt.

* Fix issues with empty lines

* Check non-whitespace right after custom comments
2016-09-30 08:34:46 +13:00
sinkuu
2dfa96bc9a Fix #775
rewrite_tuple referring config.max_width where given width should be
used
2016-09-20 14:06:28 +09:00
Nick Cameron
3ff7e83457 Merge pull request #1156 from sinkuu/break_if_let
Prefer line break at `=`/`in`
2016-09-19 18:51:21 +12:00
Nick Cameron
e1d7b8ea01 Merge pull request #1162 from sinkuu/fix1040
Fix #1040
2016-09-19 14:35:42 +12:00
Nick Cameron
fb8a1903cf Merge pull request #1161 from sinkuu/fix550
Fix #550: `if` nested in tuple is indented oddly
2016-09-19 08:49:38 +12:00
sinkuu
b6bffa6596 Prevent line breaking at = or in after trivial patterns 2016-09-17 13:03:14 +09:00
sinkuu
079f39d07f Fix #550: if nested in tuple is indented oddly 2016-09-17 10:46:20 +09:00
est31
c6243c950e Improve comment rewriting with normalize_comments == false
Only change multiline comments of the form

```rust
/*
 * Text
 */
```

while not affecting comments of the form

```rust
/*
Text
*/
```

when normalize_comments is off. In the first case,
we have a known character we can align against, while
we don't have one in the second case.

Before, we have converted the second form into the first,
but this is against the spirit of normalize_comments being
turned off.

Fixes #956
2016-09-17 03:41:11 +02:00
est31
efd3e5c091 Add three new options for spaces 2016-09-17 02:22:13 +02:00
Nick Cameron
4418fab4f2 Update to latest Syntex
+ Cargo update
+ 0.6.2 release
2016-09-16 15:28:02 +12:00
sinkuu
b446e31739 Fix #1040 2016-09-10 13:08:32 +09:00
sinkuu
bf078566d7 Fix #1021: Handle .. in tuple / tuple struct patterns 2016-09-09 19:56:34 +09:00
dawirstejeck
a5d7073bf5 Split impl at 'for' if a line break is needed (#1148)
* Split impl at 'for' if a line break is needed

* Fix formatting

* Improve comments

* Skip second try if there is no 'for'

* Restore intentional trailing whitespace

* Change test source to be incorrectly formatted

* Restore more missing trailing whitespace

* Remove too much whitespace...

Really should learn how to use git revert.
2016-09-06 17:11:56 +12:00
Nick Cameron
bce26d51bd Merge pull request #1134 from sinkuu/issue977
Fix #977
2016-08-29 07:07:48 +12:00
sinkuu
130c593544 Fix #977 2016-08-28 16:40:03 +09:00