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
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
674d15e057
Merge pull request #1481 from regexident/system-error
...
Improve error message for missing source/target test file
2017-05-02 11:17:48 +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
4385b8063d
Improve error message for missing source/target test file
2017-05-01 23:34:00 +02: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
Nick Cameron
fba5af2a7d
Merge pull request #1469 from topecongiro/bug/chains
...
Remove a bug when calculating the length of the chain
2017-05-01 15:48:53 +12:00
Nick Cameron
6a19c93f2a
Merge pull request #1461 from DarkEld3r/1447-line-length-in-chars
...
Fix line length calculation (should be in chars, not bytes)
2017-05-01 13:15:28 +12:00
topecongiro
02cf515be6
Format source codes
2017-04-24 16:50:11 +09:00
Stanislav Tkach
b53aeebbcf
Fix line length calculation (should be in chars, not bytes)
2017-04-19 17:49:03 +03:00
topecongiro
0614e94d0d
Format source codes
2017-04-15 18:42:45 +09: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
Nick Cameron
b3a4ba570e
Merge pull request #1432 from topecongiro/parse-config
...
Print error and usage when decoding config file failed
2017-04-06 11:30:33 +12: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
6af0968511
Change return type of 'from_toml' from 'Config' to 'Result<Config>'
...
Closes #1426 .
2017-04-03 13:58:46 +09: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
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
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
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