2633 Commits

Author SHA1 Message Date
Stéphane Campinas
2f5d864c08
keep track of lines which formatting was disabled in order to prevent indentation which would cause code right-shifting 2018-10-24 12:11:11 +02:00
Stéphane Campinas
9c75a15f4c
Fix handling of code that is annotated with rustfmt::skip.
A rustfmt::skip'ed block is indented although original lines are
returned. In order to resolve this, the leading whitespaces are trimmed
on each line while retaining the layout; this leaves the skipped code
to be indented as necessary by the caller.
2018-10-24 12:11:11 +02:00
JoshBrudnak
799005f6ae Treat crates non-alphabetically Fixes: #3118 2018-10-23 07:10:00 -04:00
Otavio Salvador
e41fcb137c rustfmt: add support to specify the Rust edition as argument
The new `--edition` command line argument allow the setting of the
desired Rust edition to be used.

Refs: #3104.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:38 -03:00
Otavio Salvador
2eab9714e4 lib: export config::Edition so it can be used externally
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:36 -03:00
Otavio Salvador
584d871494 config: use 2015 as default Edition
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:33 -03:00
Otavio Salvador
e9fa99d8b8 rustfmt: avoid duplicating the error handling for --emit
There is no need to produce the error message again as it is already
produced by the helper method that does the emit mode validation.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-23 02:33:25 -03:00
Nick Cameron
825207dd2e
Merge pull request #3126 from topecongiro/issue-3117
Use correct width when formatting type on local statement
2018-10-23 10:35:32 +13:00
Seiichi Uchida
086c183447 Use correct width when formatting type on local statement 2018-10-22 22:20:51 +09:00
Matthias Krüger
b25f974c0d fix a few typos found via codespell. 2018-10-19 12:28:00 +02:00
Matthias Krüger
8c996331cc fix a couple of clippy lint warnings
simplify a comparison with "true"
fn can_be_overflowed: remove unused lifetime
fn rewrite_pairs_one_line: pass "list" by reference (it is not consumed in the function)
fn span_for_token_stream: pass "token_stream" by reference since it is not consumed
use tool lints for clippy suppressions
2018-10-19 01:11:28 +02:00
Nick Cameron
e633f2b3f5
Merge pull request #3109 from scampi/issue-3038
force a newline after the `if` condition if there is a different indentation level
2018-10-18 19:56:17 +13:00
Nick Cameron
4bb84f6002 Remove NLL feature
And do some refactoring in comments.rs

Closes #3107
2018-10-18 15:39:11 +13:00
Nick Cameron
613dfcc521 Remove various feature flags 2018-10-18 15:38:57 +13:00
Seiichi Uchida
8c4e92a14e
Catch parser panic in format_snippet (#3103) 2018-10-17 14:21:04 +09:00
Stéphane Campinas
30c06da781
force a newline after the if condition if there is a different
indentation level
2018-10-15 23:24:35 +02:00
Nick Cameron
c09d7ef088
Merge pull request #3106 from sinkuu/clippy
Clippy and cleanups
2018-10-16 09:09:56 +13: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
Shotaro Yamada
6c964fd030 Reduce allocations 2018-10-15 23:59:08 +09:00
Shotaro Yamada
6fb188bd43 Use concat() instead of join("") 2018-10-15 23:59:08 +09:00
Shotaro Yamada
6380f88527 Cleanup 2018-10-15 23:59:08 +09:00
Shotaro Yamada
751bcf5fa0 Clippy 2018-10-15 23:59:08 +09:00
Shotaro Yamada
d55729987f Use UnOp::to_string 2018-10-15 23:59:08 +09:00
Shotaro Yamada
094e687e42 Remove an unsafe code 2018-10-15 23:58:59 +09:00
Daniele D'Orazio
075aa909cd try to fix comment bad wrapping (#3099) 2018-10-15 11:18:37 +09:00
Nick Cameron
e29fd7bebe Only put { on a newline in a match arm where necessary
Fixes #3005
2018-10-15 14:06:52 +13:00
Nick Cameron
51ddac33c5
Merge pull request #3096 from otavio/use-bytecount-count
utils: rewrite `count_newlines` using `bytecount::count`
2018-10-15 11:07:58 +12:00
Nick Cameron
cbd568083d Fixup formatting 2018-10-15 11:52:27 +13:00
Nick Cameron
b81b902821 Simplify situations in which the last sub-expr in a bin-op can go multiline without making the whole expr multiline
Fixes #3034
2018-10-15 11:48:12 +13:00
Otavio Salvador
e203057db0 utils: rewrite count_newlines using bytecount::count
This uses a optimized byte count and also makes use of SIMD
instructions to optimize the processing of the byte arrays.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-14 18:27:35 -03: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
5f5d04283c Use correct width
When rewriting trait bounds on the next line, we do not want to add an extra
indentation. However, the max width should be smaller.
2018-10-14 21:47:55 +09:00
Seiichi Uchida
fdfb489c48 Add a correct indent before trait's closing brace with empty body 2018-10-14 21:47:55 +09:00
Seiichi Uchida
c4a8cdcdf1
Merge pull request #3095 from otavio/avoid-overflow-control-flow-expr
Avoid control flow expressions conditions to go multi line
2018-10-14 21:03:27 +09:00
Seiichi Uchida
8dfdca9390
Merge pull request #3094 from otavio/avoid-unwrap-or
Replace `.unwrap_or` with `.map_or` in few places
2018-10-14 21:02:39 +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
6d7fef078e bin: replace .unwrap_or with .map_or
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-12 20:22:10 -03:00
Otavio Salvador
5d4ed07f1c config: replace .unwrap_or with .map_or
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-12 20:21:48 -03:00
Otavio Salvador
2e9a97a84d expr: replace .unwrap_or with .map_or
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-12 20:21:22 -03: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
Otavio Salvador
b144adf3be closures: replace .unwrap_or with .map_or
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-12 20:07:25 -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
0ac68c9477 Do not add parens around lifetimes
Parens should be added only around trait objects.
2018-10-13 00:42:25 +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
Nick Cameron
b82949b36e
Merge pull request #3089 from topecongiro/format-comment
Add format_doc_comments
2018-10-12 09:55:45 +12:00
Seiichi Uchida
b2de574848 Add format_doc_comments 2018-10-11 23:34:36 +09:00