Seiichi Uchida
8c4e92a14e
Catch parser panic in format_snippet ( #3103 )
2018-10-17 14:21:04 +09:00
Nick Cameron
5f02be6294
Merge pull request #3102 from nrc/arm-guard-newline
...
Only put `{` on a newline in a match arm where necessary
2018-10-16 09:06:15 +13:00
Nick Cameron
bc4414e53c
Merge pull request #3101 from nrc/pair-newline
...
Simplify multi-lining binop exprs
2018-10-16 09:01:40 +13:00
Daniele D'Orazio
075aa909cd
try to fix comment bad wrapping ( #3099 )
2018-10-15 11:18:37 +09:00
Nick Cameron
e2be62c7a5
Add test (issue 3005)
2018-10-15 14:09:31 +13:00
Nick Cameron
7be173eb8c
add test
2018-10-15 12:09:53 +13:00
Nick Cameron
a6ef302236
Merge pull request #3100 from topecongiro/issue-3092
...
Fix poor formatting of empty trait with generic bounds
2018-10-15 08:07:59 +12:00
Nick Cameron
2f8c1fea72
Merge pull request #3093 from scampi/issue2633
...
do not vertically align list items in case the tactic is Horizontal
2018-10-15 07:57:39 +12:00
Nick Cameron
945fb504b1
Merge pull request #3091 from topecongiro/issue-3060
...
Do not add parens around lifetimes
2018-10-15 07:40:34 +12:00
Seiichi Uchida
476992a15d
Add a test for #3092
2018-10-14 21:47:50 +09:00
Otavio Salvador
ef59b34cd7
Avoid control flow expressions conditions to go multi line
...
Extends the multi line condition to over other control flow
expressions, it now covers: `if`, `if let`, `for`, `loop`, `while`,
`while let` and `match`.
Refs: #3029
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-13 14:12:43 -03:00
Stéphane Campinas
8f7a0470b0
handle lines prefixed with a # inside code blocks
2018-10-13 09:57:43 +02:00
Otavio Salvador
8feeddf1f8
Only combine match
if its condition expression fits in a single line
...
This improves the formatting and reading of code avoiding the
condition expression to be rewrite, if it goes multi line.
Fixes : #3029 .
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-12 20:12:45 -03:00
Stéphane Campinas
78d9091aff
do not vertically align list items in case the tactic is Horizontal
2018-10-12 20:41:56 +02:00
Seiichi Uchida
6b33043e06
Add a test for #3060
2018-10-13 00:42:22 +09:00
Nick Cameron
8b709c0019
Add attr_fn_like_width
to the width heuristics
...
It is a bit larger than than `fn_call_width` which we used previously, so fewer attributes get reformatted.
Closes #2929
2018-10-12 15:20:42 +13:00
Seiichi Uchida
b2de574848
Add format_doc_comments
2018-10-11 23:34:36 +09:00
Nick Cameron
4895699e88
Merge pull request #3083 from scampi/itemized_blocks
...
Handle itemized blocks in comments
2018-10-10 10:38:54 +12:00
Stéphane Campinas
375c87820f
rewrite_string: detect when a url is being split and place the new line
...
after it
2018-10-09 21:47:32 +02:00
Stéphane Campinas
c0b7222e2d
handle itemized items inside comments
2018-10-09 00:44:59 +02:00
Stéphane Campinas
8b3788d875
rewrite_string: allow to break on a boundary character that is on edge
2018-10-08 14:48:15 +02:00
Seiichi Uchida
a925bdf092
Add a test for #3031 and update test
...
No combining for an item-like macro argument.
2018-10-08 13:50:00 +09:00
Nick Cameron
1b2e72726f
Merge pull request #3078 from YaLTeR/fix-closure-indentation
...
Fix inconsistent overflow behavior in Visual style
2018-10-08 14:38:49 +13:00
Nick Cameron
832a912f79
Merge pull request #3077 from YaLTeR/fix-extra-commas
...
Get rid of extra commas in Visual struct literal formatting
2018-10-08 14:37:48 +13:00
Nick Cameron
4dc5557625
Merge pull request #3070 from topecongiro/issue-3030
...
Format a paren expr with double slash comment
2018-10-08 13:05:36 +13:00
Nick Cameron
80d744973f
Merge pull request #3069 from topecongiro/issue-3003
...
Consider a multi-lined array as a block-like expression
2018-10-08 13:04:45 +13:00
Nick Cameron
d0c6a6d642
Merge pull request #3067 from topecongiro/refactor-toexpr
...
Add println!-like heuristic to the fail attribute
2018-10-08 12:38:33 +13:00
Ivan Molodetskikh
dee68434e6
Overflow Visual functions even with one argument
2018-10-06 16:32:38 +03:00
Ivan Molodetskikh
6dc9b96651
Add a test for #3049
2018-10-06 16:32:27 +03:00
Ivan Molodetskikh
cbaed838d5
No trailing comma in struct literals (Visual)
2018-10-06 10:59:47 +03:00
Ivan Molodetskikh
cfe20fe585
Add a test for #3066
2018-10-06 10:59:47 +03:00
Stéphane Campinas
4b26723e55
format_strings: take into account newline occurring within a rewritten line
2018-10-02 00:41:56 +02:00
Seiichi Uchida
efe24bd7e7
Add a test for #3030
2018-10-01 00:06:37 +09:00
Seiichi Uchida
4a15875f07
Add a test for #3003
...
and run cargo fmt.
2018-09-30 23:28:03 +09:00
Seiichi Uchida
6e901c8f37
Format and update test
2018-09-30 08:05:45 +09:00
Nick Cameron
3dc6eed601
Merge pull request #2816 from moxian/enum-discrim
...
Add option to vertically align enum discriminants.
2018-09-28 21:48:57 +12:00
Seiichi Uchida
86fff9eafa
Merge pull request #3050 from andrehjr/empty-impl-body-with-braces-newline
...
Trait Implementation - Adds a newline before the last brace on impls without a body if the first brace is also on a newline
2018-09-28 11:10:58 +09:00
Stéphane Campinas
2bcc3a9302
do not format a code block in documentation if it is annotated with ignore or text ( #3058 )
2018-09-28 11:06:29 +09:00
moxian
65ae0b9a09
Change enum align semantics to care about absolute length, rather than difference.
...
If we're only aligning enum discriminants that are "not too far apart
(length-wise)", then this works really well for enums with
consistently-long or consistently-short idents, but not for the mixed
ones.
However, consistently-long idents is somewhate of an uncommon case and
overlong idents may be allowed to be formatted suboptimally if that
makes mixed-length idents work better (and it does in this case).
2018-09-26 18:47:17 +00:00
moxian
cc22869fb4
Add option to vertically align enum discriminants.
2018-09-26 14:35:38 +00:00
André Luis Leal Cardoso Junior
2727d41ddb
Makes brace behavior consistent with empty bodies for traits and impls
...
Adds a newline before the last brace on impls without a body if the first brace is also on a newline
2018-09-26 09:44:13 -03:00
Nick Cameron
ac6871f376
Merge pull request #3048 from emilio/merged-comments
...
lists: Detect block comment by starting from the end.
2018-09-24 14:22:01 +12:00
Nick Cameron
1e60c6118e
Merge pull request #3045 from scampi/issue2917
...
Prevent right-shifting of block comments with bare lines.
2018-09-24 14:11:46 +12:00
Emilio Cobos Álvarez
66c15e46ba
lists: Detect block comment by starting from the end.
...
The issue with the current code is that comments are collapsed, so comments like
the one from the test end up in a string like:
```
"// this is a single line comment\n/* block = */"
```
I chose to fix it by detecting whether we're in a block comment starting from
the end instead, and tested a single-line comment ended in `*/` just for sanity,
ensuring line breaks are not removed in that case, which would break the
formatting.
The right fix eventually is probably to lex the comments properly, but this does
the work for now, I guess :)
Fixes #3025
2018-09-22 12:16:38 +02:00
Stéphane Campinas
5fdb6db136
Prevent right-shifting of block comments with bare lines.
...
Lines that didn't start with a comment sigil were returned unchanged in
comment::rewrite_comment. Then these unchanged lines were indented in
MacroBranch::rewrite.
2018-09-22 00:09:11 +02:00
Diogo Sousa
98a0ef2436
Fix bug in import where two consecutive module separators were possible.
...
Fixes #3043 .
2018-09-21 18:51:19 +01:00
Seiichi Uchida
ec32c961d3
Add a test for #3040
2018-09-21 00:57:46 +09:00
Nick Cameron
cd8549e013
Merge pull request #3036 from topecongiro/issue-2932
...
Combine chain items only when the item gets orphaned otherwise
2018-09-20 11:36:46 +12:00
Seiichi Uchida
594774b4e5
Update tests
2018-09-19 23:19:24 +09:00
Seiichi Uchida
8021b29405
Add a test for #3006
2018-09-19 22:33:25 +09:00