Commit Graph

1512 Commits

Author SHA1 Message Date
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
91bbe0ff8b Test fallout 2017-03-28 11:01:44 +13:00
Nick Cameron
e4efa22983 Source formatting fallout 2017-03-28 10:58:41 +13:00
Nick Cameron
038436919d Put the second element of a chain on its own line when block formatting. 2017-03-28 10:56:46 +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
C4K3
6be61bcdd6 Warn on unused config options (#1402)
This will make it clear if a user has misspelled a config option, or if
an option has been changed/removed.
2017-03-26 18:12:56 +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
Robert Gawdzik
bfb1c277a8 Make list_files deterministic (Closes #1141) (#1393)
- Use BTreeMap instead
2017-03-22 09:00:33 +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
13a6644074 Update RFC toml file 2017-03-20 10:27:01 +13:00
Nick Cameron
0cb6f56647 Block formatting for arrays
Fixes #1331
2017-03-20 10:26:19 +13:00
Nick Cameron
0c93e7dacf Merge branch 'master' of github.com:rust-lang-nursery/rustfmt 2017-03-13 11:43:12 +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
C4K3
ab832fa4bb config: Rename ideal_width -> comment_width (#1370)
Since the config option only affects comment widths, and the previous
name has led to some confusion (see #1321, #1152).
2017-03-13 09:07:33 +13:00
Nick Cameron
d5478f7d45 Reformatting source code 2017-03-10 16:06:05 +13:00
Nick Cameron
22be93780c block generics in traits 2017-03-10 16:04:08 +13:00
Nick Cameron
a1d94e545c Attempt to fixup impls with long generics 2017-03-10 15:58:35 +13:00
Nick Cameron
c8af03f475 Block formatting for tuple structs
Follows the fn_args_layout option
2017-03-10 15:31:45 +13:00
Nick Cameron
7b901130cb Insert a newline before block-formatted generics
Fixes #1359
2017-03-10 14:29:45 +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
b820d50ec0 Add style RFC conformant rustfmt toml
Add a new `where` clause option, as yet unused.
2017-03-09 13:16:14 +13:00
Nick Cameron
4ed5a3bac7 Bump version to 0.8 and cargo update 2017-03-08 10:18:10 +13:00
Nick Cameron
e7489356c6 Format glob imports
Fixes #1356
2017-03-08 10:12:42 +13:00
Andy Librian
92ef8f8fc9 include license files into archive on crates.io (#1340) (#1354) 2017-03-08 08:51:23 +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
33b83ae7df Formatting fallout
Also fixes a minor bug when we break a line after `if` and used to leave a trailing space
2017-03-07 09:50:41 +13:00
Nick Cameron
c7a33062e2 Add a heuristic for maximum number of elements in a single-line chain
And turn the source hints option to false by default. This should make formatting more deterministic.
2017-03-07 09:34:28 +13:00
Andy Librian
63114f3cac added unit tests for Indent and Shape (#1353) 2017-03-06 07:50:04 +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
Nick Cameron
eff665c5c4 Merge pull request #1334 from gypsydave5/fix_1255
Fix #1255 - incorrect removal of `default` on associated types
2017-02-27 11:57:58 +13:00
David Wickes
371ffa4710 Small reformat 2017-02-26 22:28:53 +00:00