Commit Graph

635 Commits

Author SHA1 Message Date
Nick Cameron
93c556c6ba Merge pull request #1578 from topecongiro/poor/macro
Use original code snippet for macro which contains invalid syntax
2017-05-24 11:43:10 +12:00
topecongiro
e3eec44690 Return original snippet when macro contains invalid syntax 2017-05-24 07:24:31 +09:00
topecongiro
04bb5d8929 Format source codes 2017-05-24 00:07:02 +09:00
topecongiro
ec33121aaf Format source codes 2017-05-23 22:13:29 +09:00
topecongiro
f83c22f24f Add trailing comma to a single arg in multiline 2017-05-23 13:26:59 +09:00
topecongiro
b4cd9584b3 Implement combining for tuple and block 2017-05-23 12:51:32 +09:00
topecongiro
2c15204f0c Update tests 2017-05-23 12:51:13 +09:00
topecongiro
dc8d3aa23a Update tests 2017-05-23 11:39:31 +09:00
topecongiro
13af774e55 Fix weird indentaion in chain 2017-05-23 11:37:12 +09:00
topecongiro
d16a0a399e Implement 'vec![expr; expr]' 2017-05-23 11:32:09 +09:00
Michael Killough
bce1f309b7 Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into config 2017-05-19 16:10:27 +07:00
Ben Boeckel
8ca699ce26 config: fix suffices -> suffixes typo
Fixes #1477.
2017-05-18 08:03:47 -04:00
Seiichi Uchida
c0fae6a82a Merge pull request #1562 from flier/reorder_imports_in_group
reorder imports in group
2017-05-18 17:53:23 +09:00
Michael Killough
c3c2e823cb Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into config 2017-05-18 13:05:19 +07:00
Flier Lu
1077a100a1 reorder imports in group 2017-05-18 13:26:34 +08:00
Michael Killough
222bac1397 Provide config.set().item(value) API.
This API isn't fantastic, but it's the best I can come up with without
something like `concat_idents!()`. There are relatively few places where
config is set, to hopefully the ugliness isn't disastrous.

Change previous occurences of `config.item = value` to this new API,
rather than using `config.override_value()`. Undo the changes to
`override_value()`, as it's no longer important to propogate the error
to the caller. Add a test for the new interface.
2017-05-18 11:42:32 +07:00
topecongiro
cfff3bd91e Use multiline when signature does not fit single line 2017-05-17 16:31:09 +09:00
Nick Cameron
6a70e9c22c Merge pull request #1559 from topecongiro/poor/chain
Allow the last element in chain to go multiline
2017-05-17 17:43:42 +12:00
topecongiro
d7b6f1199f Format source codes 2017-05-16 23:24:38 +09:00
Michael Killough
dcd3c0ed2e Add test for issue #1366.
As the comments in the issue state: it appears to work now, so this test
should just stop any regressions.

The second example in the issue description will format to the first,
which is then a fixed-point.
2017-05-16 16:17:46 +07:00
Michael Killough
c0bdbfa531 Switch to accessing config items via method.
Preparation for #865, which proposes adding a flag which outputs which
config options are used during formatting.

This PR should not make any difference to functionality. A lot of this
was search-and-replace.

Some areas worthy of review/discussion:

 - The method for each config item returns a clone of the underlying
   value. We can't simply return an immutable reference, as lots of
   places in the code expect to be able to pass the returned value as
   `bool` (not `&bool). It would be nice if the `bool` items could
   return a copy, but the more complex types a borrowed reference... but
   unfortunately, I couldn't get the macro to do this.
 - A few places (mostly tests and `src/bin/rustfmt.rs`) were overriding
   config items by modifying the fields of the `Config` struct directly.
   They now use the existing `override_value()` method, which has been
   modified to return a `Result` for use by `src/bin/rustfmt.rs`. This
   benefits of this are that the complex `file_lines` and `write_mode`
   strings are now parsed in one place (`Config.override_value`) instead
   of multiple. The disadvantages are that it moves the compile-time
   checks for config names to become run-time checks.
2017-05-16 15:47:09 +07:00
Seiichi Uchida
79ba34c607 Use offset_left for rewrite_unary_prefix 2017-05-15 22:55:01 +09:00
Nick Cameron
d1682b3473 Merge pull request #1510 from fintelia/better-filelines
Better file_lines
2017-05-15 09:19:18 +12:00
Nick Cameron
0ebd5775d7 Merge pull request #1550 from topecongiro/issue-1547
Prevent rewriting closure block to expr inside macro
2017-05-15 08:46:14 +12:00
Jonathan Behrens
4d2f6a29a7
Add and improve tests of file_lines 2017-05-13 13:45:35 -04:00
Seiichi Uchida
7ec78711f2 Prevent rewriting closure block to expr inside macro 2017-05-13 18:32:25 +09:00
Seiichi Uchida
d0a094eefb Merge pull request #1546 from topecongiro/bug/range-full
Add a missing trailing comma before elipses
2017-05-13 17:40:47 +09:00
topecongiro
4aa64674c9 Add a missing trailing comma before elipses 2017-05-13 07:23:34 +09:00
Seiichi Uchida
56515dd4d6 Merge pull request #1543 from topecongiro/field-attr
Support struct_field_attributes
2017-05-12 20:08:36 +09:00
topecongiro
744fa427e2 Support struct_field_attributes 2017-05-12 17:58:38 +09:00
topecongiro
384ce46eef Use vertical layout when args len is larger than fn_call_width 2017-05-12 16:30:26 +09:00
topecongiro
ba1a7b9e7f Try multi-line only when fn_call_style is Block and rewriting function call 2017-05-12 10:33:05 +09:00
Nick Cameron
1eec103516 Merge pull request #1523 from topecongiro/poor-formatting/fn_call_style
Use multiline when args exceeds max_width in fn_call_style = "block"
2017-05-10 08:27:24 +12:00
topecongiro
30a8050559 Use multiline when args exceeds max_width in fn_call_style = "block" 2017-05-10 00:27:57 +09:00
topecongiro
9d96c33d59 Inherit alignment to last else 2017-05-09 17:33:45 +09:00
Nick Cameron
35e1ca73fc Merge pull request #1519 from topecongiro/poor-formatting/if-else
Remove visual_indent when rewriting else block
2017-05-09 15:21:29 +12:00
topecongiro
0248e9869d Apply closure exception to match in args 2017-05-09 08:28:05 +09:00
topecongiro
f36411c339 Remove visual_indent when rewriting else block 2017-05-09 08:11:05 +09:00
topecongiro
d062d79fb5 Use block indent when visual indent failed 2017-05-08 08:07:18 +09:00
Nick Cameron
459b4449a6 Merge pull request #1442 from topecongiro/poor-formatting/trailing-comma
Remove comma from function definition with a single argument
2017-05-08 10:45:03 +12:00
topecongiro
2ee8e730a6 Add fallback path 2017-05-07 13:13:44 +09:00
Nick Cameron
75a13868da Block format control flow discriminant expressions and binops
Fixes #1450

Adds control_style option
2017-05-05 14:37:13 +12:00
topecongiro
ca0225730f Update tests 2017-05-05 10:22:20 +09:00
topecongiro
e7c6d34854 Use SeperatorTactic::Never for a single argument 2017-05-04 14:47:50 +09:00
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