Commit Graph

950 Commits

Author SHA1 Message Date
topecongiro
fa1978882b Add a test for #2791
Closes #2791.
2018-06-25 15:27:09 +09:00
Mike Baker
1d4b988414 Strip leading | in match arm patterns
This addresses issue #2621

This commit turns out to be a partial revert of
ea3c01e337

The rationale is that a `|` character preceding a match pattern is not
semantically relevant and therefore should be considered a
style/formatting choice.

A discussion concluded that the best way to emit consistent formatting
here was to strip the leading `|`

This removes the match_with_beginning_vert test because it was asserting
the old behaviour which has been changed, it adds a new test
(issue_2621) which should be a more comprehensive check of the behavior
of `|` in match arms.

Discussion at https://github.com/rust-lang-nursery/fmt-rfcs/issues/119
2018-06-25 00:53:15 +01:00
Nick Cameron
1ead31ae9d
Merge pull request #2795 from jechase/issue-2794
Add test and fix for #2794
2018-06-20 10:35:16 +12:00
Nick Cameron
fb5513564e
Merge pull request #2785 from wada314/issue-2728
Fix #2728.
2018-06-20 10:32:46 +12:00
Josh Chase
ea540651b7 Switch to comments for rustfmt config 2018-06-19 09:30:50 -04:00
Shohei Wada
036244cdce Fix #2728. 2018-06-19 20:51:49 +09:00
Nick Cameron
261238ea51 Change use_small_heuristics to an enum and stabilise
Since it is now an enum, we can be future compatible since we can add variants
for different heuristics.

Closes #1974
2018-06-19 13:28:27 +12:00
Josh Chase
4565d41790 Add test for #2794 2018-06-18 12:51:19 -04:00
Seiichi Uchida
23ca2b670e Add a test for #2630
Closes #2630.
2018-06-13 20:39:47 +09:00
Seiichi Uchida
5e59e686c1 Add tests for #2607 and #2770 2018-06-07 12:30:14 +09:00
Nick Cameron
da30d235a4
Merge pull request #2771 from topecongiro/issue-2746
Fix poor formatting of impls
2018-06-06 14:38:42 +12:00
Seiichi Uchida
356a0c4b58 Add a test for #2746 2018-06-06 10:55:56 +09:00
Seiichi Uchida
35fee77d39 Add a test for #2765 2018-06-05 19:58:28 +09:00
Nick Cameron
d9149fb52e
Merge pull request #2741 from csmoe/where_brace
Remove newline in empty impl
2018-06-05 18:04:22 +12:00
Seiichi Uchida
b9631d1209 Add a test for #2761 2018-06-05 13:42:58 +09:00
csmoe
d46852b3f7 fix tests 2018-05-31 18:34:06 +08:00
Seiichi Uchida
11835ce5ce Add tests for #2749 2018-05-30 08:44:57 +09:00
Nick Cameron
1d5da1011f
Merge pull request #2733 from topecongiro/issue-2727
Trim unnecessary whitespaces between a macro call and a semicolon
2018-05-28 10:12:23 +12:00
topecongiro
6dd7d5ba1c Add a test for #2727 2018-05-24 00:13:56 +09:00
topecongiro
0977bca5ed Add a test for #2691 2018-05-23 23:29:18 +09:00
topecongiro
d0980655b3 Add tests for #2704. 2018-05-23 07:22:30 +09:00
csmoe
64768cf932 fix label prefix 2018-05-21 22:37:55 +08:00
csmoe
150765d755 format label break 2018-05-21 13:30:07 +08:00
Thomas Lively
5d56adb10c Fix position of auto in auto trait declaration 2018-05-18 17:25:33 -04:00
Nick Cameron
d726492e65 Remove spaces_within_parens_and_brackets
cc #1974
2018-05-18 16:35:09 +12:00
Nick Cameron
51f566062f Update uses of rustfmt_skip to rustfmt::skip 2018-05-14 16:25:10 +12:00
Nick Cameron
7eb8bdbbd2 Format attributes with paths 2018-05-14 16:04:15 +12:00
Markus Westerlind
4c9ef93df7 fix: Don't insert an extra brace in macros with native newlines
Due to `format_snippet` formatting the input with \r\n the subtraction
would wouldn't give a length that removed the }

Fixes #2641
2018-05-08 20:34:44 +02:00
Nick Cameron
bd7ae5e89b
Merge pull request #2682 from topecongiro/issue-2670
Do not duplicate attributes on use items
2018-05-07 11:21:02 +12:00
topecongiro
f81b94c7c1 Add a test for duplicated attributes on use items 2018-05-06 17:00:51 +09:00
topecongiro
087e2a7986 Add tests for simple binary expressions 2018-05-06 15:14:30 +09:00
topecongiro
f885039e6c Do not overflow a long item
Take the first line's width of a single item into account when
trying to overflow something.

Closes #2676.
2018-05-06 12:12:16 +09:00
Nick Cameron
17b04f181d
Merge pull request #2677 from csmoe/remove_nested_parens_opt
Add remove nested parens option
2018-05-06 14:01:17 +12:00
csmoe
5b121582e5 add config test 2018-05-06 09:23:45 +08:00
csmoe
7c246344f8 remove nested parens option 2018-05-05 23:13:49 +08:00
Nick Cameron
4a57e79469
Merge pull request #2667 from tspiteri/width-heuristics
Do not scale WidthHeuristics when max_width less than 100
2018-05-04 11:46:28 +12:00
csmoe
8c8676cd30 fix merge_mix 2018-05-03 10:26:53 +08:00
Trevor Spiteri
48df8f8dc0 Add test for width heuristics 2018-05-02 11:38:23 +02:00
Trevor Spiteri
31ce8ee185 Add test for issue 2644 2018-05-02 10:38:02 +02:00
Nick Cameron
36c49d703a
Merge pull request #2666 from topecongiro/issue-2634
Avoid flip-flopping impl items when reordering them
2018-05-02 10:28:46 +12:00
topecongiro
faa5a10d20 Add a test for #2634 2018-04-30 16:22:28 +09:00
topecongiro
61a401ae51 Use correct one line width for list attribute
Closes #2647.
2018-04-30 15:49:32 +09:00
Nick Cameron
ffaa6fcb0c
Merge pull request #2661 from topecongiro/issue-2645
Preserve comments between attribute and use item
2018-04-30 11:10:48 +12:00
Nick Cameron
af5976cf1e
Merge pull request #2659 from topecongiro/issue-2652
Do not add a trailing comma on array inside macro
2018-04-30 11:07:33 +12:00
topecongiro
23cdfdef38 Add tests for #2645 2018-04-28 16:03:26 +09:00
topecongiro
121f5e4e42 Add an test for #2652 2018-04-28 15:09:36 +09:00
topecongiro
89d8eabba5 Add tests for #2594 2018-04-28 13:23:50 +09:00
Roman Stoliar
92b14f0778 added test for #2637 2018-04-23 01:31:21 +03:00
Shotaro Yamada
61d29eb70c Add spaces between consecutive .. ..= 2018-04-16 17:33:22 +09:00
Nick Cameron
45c66c75aa Fix tests 2018-04-12 17:05:34 +12:00
Nick Cameron
55dd8f1df0
Merge pull request #2603 from topecongiro/merge-nested-imports
Merge imports
2018-04-12 16:40:06 +12:00
Seiichi Uchida
e58e97783e Preserve trailing comma on macro call when using mixed layout 2018-04-12 09:54:00 +09:00
Nick Cameron
aa4419019a Update tests 2018-04-11 10:46:49 +12:00
Seiichi Uchida
805987b4b1 Add tests for merge_imports config option 2018-04-10 12:36:57 +09:00
Nick Cameron
4b2160e1b2
Merge pull request #2599 from topecongiro/issue-2596
Use multiple lines for imports list which exceeds max width
2018-04-06 11:12:53 +12:00
Nick Cameron
a3fba04141
Merge pull request #2593 from topecongiro/issue-2455
Add reorder_impl_items config option
2018-04-06 11:12:11 +12:00
Nick Cameron
b7ba6f70b1
Merge pull request #2576 from topecongiro/merge-imports
Use normalized form to format use items
2018-04-05 17:39:22 +12:00
Seiichi Uchida
8f615af44e Add a test for #2569 2018-04-05 13:23:48 +09:00
Seiichi Uchida
a43ac40a78 Add tests for #2588 2018-04-05 12:52:43 +09:00
Seiichi Uchida
94f5a05a6a Add reorder_impl_items config option 2018-04-05 12:49:16 +09:00
Ryan Leung
2c7e737a06 add tests for macro!(/* comment */) (#2592)
* add tests
2018-04-04 11:02:01 +09:00
Shotaro Yamada
e2d801f11e Do not turn spaces in the beginning of the file into a newline (#2583) 2018-04-01 23:09:53 +09:00
Ivan Sorokin
e6423cf4b1 Add test #2574 (#2577) 2018-04-01 00:54:44 +09:00
Seiichi Uchida
13964b739e Update tests
1. snake_case < CamelCase < UPPER_SNAKE_CASE
2. Use vertical layout for list with nested imports.
2018-03-31 13:16:36 +09:00
Seiichi Uchida
3de184fb0e
Merge pull request #2572 from codeworm96/remove_unreachable
Remove unreachable! from macros.rs
2018-03-29 09:16:38 +09:00
codeworm96
38107192f1 Add test for #2558
When run against invalid macro definitions, rustfmt should leave
them unchanged rather than panic.
2018-03-28 23:50:21 +08:00
Nick Cameron
72b715bad4
Merge pull request #2571 from topecongiro/issue-2569
Avoid panicking on macro call with a single comma
2018-03-28 17:02:49 +02:00
Nick Cameron
1644b174a7
Merge pull request #2557 from topecongiro/vertical-layout-complex-attrs
Use vertical layout for complex attributes
2018-03-28 17:01:16 +02:00
Seiichi Uchida
a49e00b4d7 Avoid panicking on macro call with a single comma
`parse_item` from libsyntax may return `None`, so we need to discard
the result in that case.
2018-03-28 18:14:51 +09:00
rleungx
bf3bf8c235 allow underscore 2018-03-28 00:31:44 +08:00
topecongiro
c77708ff9a Use vertical layout for complex attributes 2018-03-25 15:17:41 +09:00
Nick Cameron
0bc0241d2a
Merge pull request #2548 from topecongiro/match-mod
Do not collapse block around expr with condition on match arm
2018-03-22 15:40:36 +13:00
Seiichi Uchida
5b9b7d5b9f Do not collapse block around expr with condition on match arm
Closes #2376.
2018-03-21 22:21:08 +09:00
Nick Cameron
fa75ef4663 fixup tests 2018-03-20 09:27:31 +13:00
Seiichi Uchida
adc257f4b3 Put a space before colon that appears after a meta variable
Closes #2534.
2018-03-19 08:27:53 +09:00
Seiichi Uchida
f8109f8e9c Put spaces around braces 2018-03-19 08:23:53 +09:00
Seiichi Uchida
0fd174d5f1 Handle binary operators and lifetimes 2018-03-19 08:23:53 +09:00
Seiichi Uchida
3f7b59ca2b Break before meta variables when using multiple lines 2018-03-19 08:23:53 +09:00
Seiichi Uchida
c9701d8e18 Update tests 2018-03-19 08:23:53 +09:00
Seiichi Uchida
9cc038897e Add a test for #2538 2018-03-17 14:58:56 +09:00
Nick Cameron
c416246494
Merge pull request #2509 from topecongiro/issue-2493
Overflow the last rhs of a binary expression
2018-03-16 07:30:30 +13:00
Seiichi Uchida
ccd134ed75 Add a test for #2497
Closes #2497.
2018-03-12 07:54:12 +09:00
Seiichi Uchida
f1d29ff580 Update tests for braces on trait
Test that the opening brace of trait with long name or bounds with multiple
lines will be put on the next line.
2018-03-12 07:48:31 +09:00
Nick Cameron
af5d3cc87b
Merge pull request #2524 from topecongiro/issue-2523
Do not unindent code block in comments with unformattable macro
2018-03-12 11:21:09 +13:00
topecongiro
c3e76bc02c Add a test for #2523 2018-03-09 17:09:56 +09:00
Seiichi Uchida
e9f5382757 Add a test for #2510
Closes #2510.
2018-03-09 14:07:43 +09:00
Nick Cameron
dc2f1429e7
Merge pull request #2521 from topecongiro/issue-2520
Fix bugs when rewriting doc comments with code block
2018-03-09 15:18:53 +13:00
Nick Cameron
58fb47a8ca
Merge pull request #2519 from topecongiro/nested-parens
Remove nested parens
2018-03-09 15:16:30 +13:00
Seiichi Uchida
484469899b Keep code block without correct backticks enclosing 2018-03-09 09:46:43 +09:00
Seiichi Uchida
0acc0a2989 Add a test for #2520 2018-03-09 09:28:49 +09:00
Seiichi Uchida
06f5d55dde Add a test for removing nested parens 2018-03-08 20:25:06 +09:00
Seiichi Uchida
b2d3daccfa Add a test for #2491 2018-03-08 19:08:32 +09:00
moe
a2f861730e fix adds a trailing comma to struct-like macro (#2490)
* fix adds a trailing comma to struct-like macro
2018-03-08 18:05:39 +09:00
Seiichi Uchida
0e660e4c76 Add a test for #2493 2018-03-08 17:16:42 +09:00
Nick Cameron
06d509c25c
Merge pull request #2512 from topecongiro/rustc-ap-syntax
Update rustc-ap-syntax
2018-03-08 17:13:05 +13:00
Shotaro Yamada
b3fa50db73 Use nested_shape for indenting types of lazy_static 2018-03-07 10:51:28 +09:00
Seiichi Uchida
0393037d6e Add tests for #2398 2018-03-06 19:42:55 +09:00
Seiichi Uchida
3fc8bb19a6 Add tests for #2511 2018-03-06 19:42:38 +09:00
kngwyu
f8f5d5c68c add tests for 2506 2018-03-05 17:35:58 +09:00
Seiichi Uchida
cea5a92a6c Add a test for #2482 2018-03-02 21:53:13 +09:00
Nick Cameron
4f522794ae Tidy up and pass tests 2018-03-02 15:07:13 +13:00
topecongiro
4af2aa3a9e Create rustfmt_core crate 2018-02-07 22:48:05 +09:00
topecongiro
5e0c6f9716 Avoid orphan in chain with punctuation 2018-02-06 09:36:29 +09:00
Seiichi Uchida
d85e1db178
Merge pull request #2393 from RReverser/macro_rules
Format stable macro_rules
2018-02-05 09:56:26 +09:00
topecongiro
18ba02ea70 Add a test for #2208
Closes #2208.
2018-02-05 08:38:53 +09:00
Ingvar Stepanyan
6377c52233 Fix comment handling in macros 2018-02-04 11:54:03 +00:00
Ingvar Stepanyan
70e7716262 Comments WIP 2018-02-04 11:54:03 +00:00
Ingvar Stepanyan
fef3e03d3e Add repetition example 2018-02-04 11:53:10 +00:00
Ingvar Stepanyan
c750442e04 Add macro_rules tests 2018-02-04 11:53:09 +00:00
Seiichi Uchida
9273a72420 Add tests for reorder_extern_crates 2018-02-04 12:07:51 +09:00
Seiichi Uchida
61b23a4293 Skip rewriting macro def with repeat 2018-02-04 08:52:50 +09:00
Nick Cameron
b7f01769f9
Merge branch 'master' into init-shorthand 2018-02-01 15:20:01 +13:00
Nick Cameron
918e79bb5a
Merge pull request #2380 from topecongiro/reorder-mods
[RFC] Reorder modules alphabetically
2018-02-01 15:18:34 +13:00
csmoe
28bb16a5a0 add a support for immovable generators 2018-01-30 22:14:33 +08:00
Seiichi Uchida
c9c346a89f Add 'use_field_init_shorthand' config option 2018-01-29 22:15:20 +09:00
Seiichi Uchida
56c6d73d82 Reorder modules
Add `reorder_modules` config option.

Two things we must keep in mind when reordering modules:
1. We should not reorder modules with attributes, as doing so could
   potentially break the code (e.g. `#[macro_use]`).
2. We should not reorder inline modules e.g. `mod foo { /* .. */ }`.
   We should only reorder module declarations e.g. `mod foo;`.

Some open questions:
1. Should we bring modules with `pub` in front of those without `pub`
   so that they stand out from others?
2. Instead of keeping modules with attributes in the same place,
   can we bring them in front of others? Is this safe?
2018-01-29 21:59:15 +09:00
Nick Cameron
4633786848
Merge pull request #2396 from topecongiro/issue-2389
Put attributes and enum variants on different lines
2018-01-29 10:36:26 +11:00
Seiichi Uchida
c60d865b98 Put attributes and enum variants on different lines 2018-01-26 16:20:00 +09:00
Seiichi Uchida
fff59fe8d9 Add a test for field initialization shorthand 2018-01-22 13:03:48 +09:00
David Alber
69f27673df Extending spaces_around_ranges to ranges in match arm patterns 2018-01-21 16:50:17 -08:00
Seiichi Uchida
298f29a57d Do not panic when special macros have less args than expected 2018-01-18 00:50:16 +09:00
Nick Cameron
74a957e80f
Merge pull request #2357 from topecongiro/issue-2342
Put attributes and struct fields on different line by default
2018-01-12 17:32:55 +13:00
Nick Cameron
b356fc06f7
Merge pull request #2352 from topecongiro/issue-2337
Break after colon if static item does not fit in a single line
2018-01-12 17:31:12 +13:00
Seiichi Uchida
6e05ca87b0 Add a test for #2343 and update tests 2018-01-11 16:53:13 +09:00
Seiichi Uchida
279acda4c4 Remove same_line_attributes config option 2018-01-11 16:52:28 +09:00
Seiichi Uchida
eaab51db2e Break after colon if static item does not fit in a single line 2018-01-10 23:23:42 +09:00
Seiichi Uchida
1e7ff38c2d Add a test for #2256 2018-01-10 21:30:13 +09:00
Nick Cameron
91a332483b
Merge pull request #2316 from topecongiro/issue-2315
Remove trailing comma from extern items snippet before comparing
2018-01-04 17:49:47 +13:00
topecongiro
75cb236711 Compare extern crate items with its name instead of span
When we use span, bugs easily sneak in.
2018-01-04 12:49:37 +09:00
topecongiro
a6d609b45e Add and update tests for #2320 and #2331 2018-01-04 12:46:05 +09:00
Nick Cameron
9368de276c
Merge pull request #2327 from nrc/macro-defs
Some macros 2.0 macro defs
2018-01-04 14:02:37 +13:00
Nick Cameron
e52b383a57
Merge pull request #2306 from dtwood/assert-eq-on-one-line
Add assert_eq! to special-cased macros
2018-01-04 13:42:24 +13:00
Nick Cameron
aa758d671f Better handling of comments in macro defs 2018-01-03 20:36:52 +13:00
Nick Cameron
47d9ccd6a1 Tests for formatting macro 2.0 defs 2018-01-01 19:51:54 +13:00
David Alber
aa70bbe377 Moving test files to satisfy verify_config_test_names test 2017-12-28 10:29:48 -08:00
David Alber
6939e21f43 Moving config option tests to subdirectory
This was done by running the following.

```sh
for f in `find . -name "configs-*.rs"`; do
    topdir=`echo $f | cut -d/ -f2`;
    configname=`echo $f | cut -d/ -f3 | cut -d- -f2`;
    testname=`echo $f | cut -d/ -f3 | cut -d- -f3`;
    mkdir -p $topdir/configs/$configname;
    git mv $f $topdir/configs/$configname/$testname;
done
```
2017-12-28 10:29:48 -08:00
David Alber
8fb3342ca2 Renaming tests to match existing convention 2017-12-28 10:29:48 -08:00
David Alber
6a583399ff Renaming test to match existing convention 2017-12-28 10:29:48 -08:00
David Wood
39e2f43f91 Split assert_eq! if any arguments are not simple 2017-12-27 21:19:42 +00:00
Seiichi Uchida
f523ec58ab Do not give up rewriting struct field when attribute is long 2017-12-24 13:57:29 +09:00
David Wood
ef8b2efd13 Fix off-by-one error in assert_eq! line wrapping
If two really long conditions are checked for equality, they wouldn't be split
into multiple lines if the last condition is the one to push the line past the
width limit.

Fix the off-by-one error that caused this, and add a test-case for it.
2017-12-23 01:32:55 +00:00
David Wood
e343521276 Add assert_eq! to special-cased macros
Allows for this form of assert_eq! macros:
```rust
assert_eq!(
    left.id, right.id,
    "IDs are not equal: {:?} {:?}",
    left, right
);
```

Also allows for assert! macros to have the format arguments split across
multiple lines even if the assert condition is not simple:
```rust
assert!(
    result >= 42,
    "The result must be at least 42: {:?}",
    result, result.code, context
);
```
2017-12-23 01:06:17 +00:00
topecongiro
984ac100a4 Fix indent width bug when recovering comments
Using last_line_width() ignores the width of tab character ('\t').
2017-12-22 12:05:36 +09:00
Nick Cameron
723b938057
Merge pull request #2291 from topecongiro/issue-2289
Take the width of block's prefix into account only once
2017-12-22 12:58:02 +13:00
topecongiro
366ff40ae7 Take the width of block's prefix into account only once 2017-12-20 15:44:11 +09:00
topecongiro
4f7cbc3aad Add tests for trait aliases 2017-12-15 13:47:32 +09:00
Nick Cameron
fc52a4d33f
Merge pull request #2173 from topecongiro/assignment-with-100-chars
Assignment whose lhs has 100 chars
2017-12-11 17:04:41 +13:00
Nick Cameron
3c08da3433
Merge pull request #2270 from topecongiro/issue-2260
Trim a trailing whitespace on empty line inside code block comment
2017-12-11 16:40:12 +13:00
Seiichi Uchida
a16a5b4c2e Add a test fot #2260 2017-12-11 11:40:59 +09:00
Nick Cameron
0c9b2b402e
Merge pull request #2267 from topecongiro/issue-2264
Remove block() and block_only() wherever possible
2017-12-11 09:02:16 +13:00