Commit graph

466 commits

Author SHA1 Message Date
Nick Cameron
91bbe0ff8b Test fallout 2017-03-28 11:01:44 +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
Nick Cameron
f53d5dd90c Merge pull request #1409 from alobb/1408-empty-tuple-enum-decl
Prevent conversion of empty tuples to unit structs
2017-03-27 14:28:41 +13:00
Aaron Lobb
548de69d2d Prevent conversion of empty tuples to unit structs
Fixes #1408
2017-03-26 15:47:48 -07: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
Aaron Lobb
0dd0cc1941 Break use statements into multiple lines (#1407)
This fixes how line lengths for use statements with multiple
items don't extend beyond the maximum line length.

Fixes #1400
2017-03-26 18:21:43 +13:00
Jon Gjengset
f96e56c3a0 Avoid extra comma in vertical single-field struct patterns (#1403)
* Add (failing) test for #1397

* Fix for #1397

Specifically, we end up double-adding a trailing comma for single-member
struct patterns that are arranged vertically. One is added by write_list
(since such structs return true for needs_trailing_separator), and
another is added by the if in the old code.
2017-03-26 18:16:45 +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
ed10bf9532 Trailing comma for functions with empty bodies 2017-03-13 11:42:41 +13:00
Nick Cameron
4df405a768 Line breaking around generics in tuple structs 2017-03-13 11:25:46 +13:00
Nick Cameron
4b60d94a99 Check we can put the where clause on one line when we think we can
Fixes #1362
2017-03-10 09:45:26 +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
d107ca12b8 Use trailing commas if block formatting fn args
Fixes #1330
2017-03-09 14:47:29 +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
e5638e0cb5 More space for qself paths
Fixes #1349
2017-03-07 14:53:10 +13:00
Nick Cameron
981b031c9f Treat new blocks like existing ones in closures
Fixes #1355
2017-03-07 14:30:01 +13:00
Nick Cameron
b9ab3ef9da Test fallout 2017-03-07 11:28:25 +13:00
Nick Cameron
c9ac348759 Fix failing test 2017-03-02 15:03:32 +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
David Wickes
4f91f02ad1 Test for #1255
Default annotation incorrectly removed on associated type.
2017-02-26 22:27:46 +00: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
7ad352239a Fix width bug for long patterns in match arms
Fixes failing test
2017-02-24 07:52:46 +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
Nick Cameron
ba1202f6b3 test 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
Craig M. Brandenburg
f2c867d067 New disable_all_formatting config option (#1297)
* New `disable_all_formatting` config option

* Resolve code review comments
2017-02-07 17:11:47 +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
6572874965 Update to latest Syntex
As a side-effect of the Path changes, we are now a bit more aggressive about normalising paths.
2017-01-20 08:20:49 +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