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
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
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
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
Nick Cameron
9be2971274
Refactor pairs/binops
2017-01-11 12:06:23 +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
Luke Clifton
6bf1382927
Indent open brace for impl when nested. ( #1227 )
...
* Indent open brace for impl when nested.
Fixes #1226
* Added test case for indented impl with brace on newline
2016-11-28 13:47:07 +13:00
Nick Cameron
d3eba76e4d
update Serde, etc.
...
Lots of changes to how closures work
2016-11-21 11:02:18 +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