Stéphane Campinas
be0ada27f4
Add comment which refers to an issue on nightly-only test
...
Co-Authored-By: topecongiro <seuchida@gmail.com>
2019-03-17 12:33:18 +09:00
topecongiro
7fc4e418bf
Tweak test settings
2019-03-17 12:33:18 +09:00
topecongiro
d0e96ed331
Do not look for external modules when the input is from stdin
2019-03-17 12:33:18 +09:00
topecongiro
92f57211c1
Support path-clarity submodule
2019-03-17 12:33:13 +09:00
topecongiro
bde77714e6
Disable self_tests on beta channel
2019-03-17 12:21:57 +09:00
Stéphane Campinas
2d5bc69475
remove trailing whitespaces in missing spans
2019-03-16 12:23:02 +01:00
Seiichi Uchida
ce5cccc32c
Update rustc-ap-* crates to 407.0.0 ( #3447 )
2019-03-14 22:50:53 +09:00
Seiichi Uchida
331a0500ce
Merge pull request #3441 from rchaser53/const-generics
...
implement for const generics
2019-03-14 22:50:20 +09:00
rchaser53
f0c861bfa9
implement for const generics
2019-03-13 03:58:23 +09:00
Seiichi Uchida
5f3dfe6c51
Format the if expression at the end of the block in a single line ( #3338 )
2019-03-11 23:18:43 +09:00
rchaser53
40ff078abf
fix 'Ident of macro+ident gets duplicated' error
2019-03-10 22:58:34 +09:00
Seiichi Uchida
06fc39f905
Merge pull request #3424 from Xanewok/modified-lines-for-stdin
...
Support EmitMode::ModifiedLines with stdin input
2019-03-05 20:54:50 +09:00
Igor Matuszewski
fbfda614be
Remove redundant closure
2019-03-04 18:32:58 +01:00
Igor Matuszewski
6b993c8b8b
Fix stdin_works... test on Windows
2019-03-04 18:28:25 +01:00
Igor Matuszewski
8aa0f44d15
Remove eprintln
2019-03-04 18:19:30 +01:00
Igor Matuszewski
b3c28dba83
Expose ModifiedLines and implement parsing data from the string output
...
This moves `Modified{Chunks,Lines}` from `src/formatting.rs` to
`src/rustfmt_diff.rs` and reexports it in `src/lib.rs`.
With this, a conversion from `Vec<Mismatch>` to `ModifiedLines` was implemented
and now this implements complementary `Display` and `FromStr`, which
simplified the previously used `output_modified` function and which allows to
parse the raw data emitted with `EmitMode::ModifiedLines`.
2019-03-04 18:19:30 +01:00
Igor Matuszewski
0437bf7a7d
Allow for stdin input in EmitMode::ModifiedLines
2019-03-04 18:19:30 +01:00
rchaser53
8e3ef3e3a9
fix not to remove comment in the case of no arg
2019-03-05 00:18:33 +09:00
rchaser53
dec3902076
leave post comment for self
2019-03-02 17:33:43 +09:00
rchaser53
ae7330eea4
leave pre comment for self
2019-02-24 22:05:08 +09:00
rchaser53
be7b3ba2e2
apply inline_attribute_width for extern crate
2019-02-23 13:46:41 +09:00
rchaser53
0e408bf83c
add config inline_attribute_width
...
If the line width is width within config width, attribute is inline.
I don't want to change default rustfmt behavior, so config default value is 0.
- fix description
- fix test comment
- remove unnecessary clone
- remove unnecessary test file
- fix test for β version
- attributes => attribute
2019-02-23 13:40:11 +09:00
Alexander Regueiro
7a3b7c9275
Various cosmetic improvements ( #3403 )
2019-02-19 11:56:42 +09:00
Stéphane Campinas
e5284b1377
Merge pull request #3334 from rchaser53/issue-3227
...
fix Inconsistency between loop and while
2019-02-15 13:12:42 +01:00
Seiichi Uchida
b58ba97780
Merge pull request #3401 from topecongiro/rustcap
...
Cargo update
2019-02-14 11:26:05 +09:00
topecongiro
9df1ed6ab4
Cargo update
...
Update `rustc-ap-*` crates to 373.0.0.
2019-02-14 11:08:05 +09:00
rchaser53
7d9a2ef96d
version/2: Align loop and while formatting
...
The loop and while formatting was diverting as `loop`
was not being moved to a new, indented block, as `while`
was.
This commit fixes this inconsistency but pins it to version 2
to avoid changing existing code.
2019-02-14 10:06:29 +09:00
topecongiro
96a3df3b5c
Format visibility on trait alias
2019-02-12 10:16:12 +09:00
Seiichi Uchida
ce682bdabc
Merge pull request #3335 from h-michael/rust-2018
...
Rust 2018 idioms
2019-02-11 01:12:38 +09:00
topecongiro
9a7ea6aacb
Handle a macro argument with a single keyword
...
Closes #3331 .
2019-02-11 00:34:23 +09:00
Seiichi Uchida
c4611a0e6b
Merge pull request #3326 from scampi/issue-3302
...
fix formatting of strings within a macro
2019-02-11 00:32:06 +09:00
Stéphane Campinas
b86dd161df
remove unneeded Version import
2019-02-09 14:23:54 +01:00
Hirokazu Hata
8183b949c4
cargo fmt
2019-02-09 16:20:38 +09:00
Hirokazu Hata
4bb90f5cc8
Fix rust_2018_idioms warnings
2019-02-09 16:14:30 +09:00
Hirokazu Hata
e70e6eb273
deny rust_2018_idioms
2019-02-09 15:55:17 +09:00
Hirokazu Hata
c0f93a6ea3
cargo +nightly fix --edition-idioms
2019-02-09 15:53:12 +09:00
Seiichi Uchida
672f352c89
Merge pull request #3325 from topecongiro/rustcap
...
Update rustc-ap-* crates to 366.0.0
2019-02-08 00:24:57 +09:00
Evgenii
2502939b60
fix review comments
2019-02-07 10:55:55 +03:00
Stéphane Campinas
813aa79567
fix formatting of strings within a macro
2019-02-07 00:05:05 +01:00
Seiichi Uchida
6541f200c9
Fix how we get span of the PathSegment separator
2019-02-06 23:06:47 +09:00
topecongiro
f4f9502ea7
Cargo update
...
- Update `rustc-ap-*` crates to 366.0.0
- Update the other crates to the latest stable
2019-02-06 23:06:15 +09:00
Evgenii
da2d8a4c57
calculate statement first line properly
2019-02-06 10:05:51 +03:00
Seiichi Uchida
aec0a7c999
Merge pull request #3318 from rchaser53/issue-3314
...
fix Removed indentation after nested comments error
2019-02-05 14:03:05 +09:00
rchaser53
5fcb7507ca
fix Removed indentation after nested comments error
2019-02-05 13:12:45 +09:00
Evgenii
ece629b1cc
transition to Rust 2018
2019-02-04 13:30:43 +03:00
Seiichi Uchida
bfcfaf1743
Merge pull request #3308 from topecongiro/issue-2835
...
Prioritize single_line_fn and empty_item_single_line over brace_style
2019-02-04 00:11:01 +09:00
Seiichi Uchida
efd6fda43f
Merge pull request #3311 from rchaser53/issue-3295
...
fix "internal error: left behind trailing whitespace" with long lines
2019-02-04 00:10:42 +09:00
rchaser53
c2534f5324
fix "internal error: left behind trailing whitespace" with long lines
2019-02-01 19:58:38 +09:00
topecongiro
0142e961ad
Prioritize single_line_fn and empty_item_single_line over brace_style
...
When either one of these two options are set to `true`, each should take
precedence over the brace_style option.
This commit does not introduce any formatting change to the default
configuration, so no version gate is required.
2019-02-01 00:22:47 +09:00
topecongiro
154ccf6a02
Do not force trailing comma when using mixed layout
2019-01-31 23:44:58 +09:00
Seiichi Uchida
923da60f72
Merge pull request #3298 from topecongiro/issue-3272
...
Use the same rule between function and macro
2019-01-30 00:36:55 +09:00
topecongiro
181ca427dc
Use the same rule with macro and function calls with a single chain
2019-01-28 23:05:42 +09:00
topecongiro
5df0a18849
Avoid putting a long macro call in a single line
2019-01-28 23:05:39 +09:00
Seiichi Uchida
36c9dc646c
Merge pull request #3293 from scampi/issue-3241
...
Keep leading colons for global paths
2019-01-27 23:14:57 +09:00
Mara Bos
635a4cdcdc
Also look in home directory for global config.
2019-01-27 13:22:25 +01:00
Mara Bos
24daa174ca
Look for a global rustfmt.toml.
...
If no rustfmt.toml is found in the usual way, the directory 'rustfmt' in
the user's config directory is checked.
- $XDG_CONFIG_HOME/rustfmt/ (or $HOME/.config/rustfmt/), or
- $HOME/Library/Preferences/rustfmt/ on Mac, or
- %AppData%\rustfmt\ on Windows.
2019-01-27 13:22:25 +01:00
Stéphane Campinas
2125ad272e
fix glob and nested global imports
2019-01-27 12:46:14 +01:00
Seiichi Uchida
203e6d265d
Merge pull request #3294 from rchaser53/issue-3278
...
change new line point in the case of no args
2019-01-27 16:28:28 +09:00
Seiichi Uchida
35d5ef7828
Apply rustfmt::skip on imports ( #3289 )
2019-01-27 16:26:09 +09:00
rchaser53
f92f3e3bda
add the version gate to the code and test
2019-01-27 14:38:57 +09:00
Matthias Krüger
d44ee75438
update dependencies
...
update itertools from 0.7 to 0.8
update env_logger from 0.5 to 0.6
update cargo_metadata from 0.6 to 0.7
update bytecount from 0.4 to 0.5
2019-01-27 00:58:46 +01:00
rchaser53
7b996542cc
change new line point in the case of no args
2019-01-26 00:16:51 +09:00
Stéphane Campinas
a2bfc026e5
keep leading double-colon to respect the 2018 edition of rust's paths
2019-01-23 00:01:53 +01:00
Nick Cameron
d2e91b5b68
Merge pull request #3284 from scampi/issue-3270
...
recognize strings inside comments in order to avoid indenting them
2019-01-17 20:22:36 +13:00
Stéphane Campinas
083a20fb1a
version-gate the formatting of commented strings
2019-01-16 23:06:28 +01:00
wada314
a01990c4d0
Use Unicode-standard char width to wrap comments or strings. ( #3275 )
2019-01-15 08:41:09 +09:00
Stéphane Campinas
503cddeb0f
Merge pull request #3225 from scampi/issue-3224
...
rewrite_comment: fix block fallback when failing to rewrite an itemized block
2019-01-14 14:41:00 +01:00
Stéphane Campinas
baa62c609e
recognize strings inside comments in order to avoid indenting them
...
Close #3270
2019-01-10 21:04:16 +01:00
Nick Cameron
2c204c11d1
Merge pull request #3260 from topecongiro/issue-3004
...
Do not modify original source code inside macro call
2019-01-07 17:39:05 +13:00
David Hewson
a8d2591f0c
allow specifying package with -p
...
currently `cargo fmt -p blah` is rejected but `cargo fmt --package blah` is allowed. both should be allowed
2019-01-01 17:49:55 +00:00
Stéphane Campinas
3b18238009
simplify function to create a string from the itemized block
2018-12-25 23:15:52 +01:00
Seiichi Uchida
996d5e8d6c
Fix shape when formatting return or break expr on statement position ( #3259 )
2018-12-25 18:20:29 +09:00
wada314
09c9cd4125
Fix issue #3263 ( #3264 )
2018-12-25 18:03:48 +09:00
Seiichi Uchida
84702bc289
Merge pull request #3266 from wada314/fix-2973
...
Fix issue #3265
2018-12-25 18:00:45 +09:00
Shohei Wada
d504a66076
Remove a trivial redundant code.
...
self.base.peek().is_none() case is already catched by the line above.
2018-12-24 17:48:42 +09:00
Shohei Wada
e37f468b21
Change \r detection much simpler.
2018-12-24 07:25:15 +09:00
Shohei Wada
f3f511af1b
Fix #2973 in Windows CRLF env.
2018-12-24 06:12:28 +09:00
topecongiro
49568d7f76
Do not modify original source code inside macro call
2018-12-20 01:14:14 +09:00
Stéphane Campinas
e305262493
clarify the version-gate used for the #3229 change
2018-12-19 09:36:47 +01:00
Seiichi Uchida
3f6ea7788b
Merge pull request #3240 from Xanewok/parser-panic
...
Catch possible tokenizer panics
2018-12-18 11:30:08 +09:00
Seiichi Uchida
d1c7afe080
Merge pull request #3250 from scampi/issue3229
...
version-gate the trailing semicolon change of return statements inside a match arm
2018-12-18 11:22:45 +09:00
Philipp Hansch
d0785954c8
Fix trim_right/trim_left deprecation warnings ( #3252 )
2018-12-18 11:21:31 +09:00
Andreas Jonson
653f3ae636
use the rustfmt function to find the bin
...
makes it possible to execute the test after a release build
2018-12-14 23:32:25 +01:00
Andreas Jonson
836562baf4
remove deprecated dependency assert_cli
2018-12-14 23:32:08 +01:00
Stéphane Campinas
b73a602d6e
version-gate the trailing semicolon change of return statements inside a match arm
2018-12-14 09:54:23 +01:00
Igor Matuszewski
c7ee2a2857
Don't ignore parse error when constructing report
2018-12-13 13:35:15 +01:00
Igor Matuszewski
a2042a6470
Use non-panicking maybe_parser_from_source_str
2018-12-13 13:35:15 +01:00
Igor Matuszewski
10b9afa906
Add test asserting we catch Rust parser panics
2018-12-13 13:35:15 +01:00
kngwyu
fd27eabbb7
Update rustc-ap-syntax to 306.0
2018-12-08 14:39:52 +09:00
Stéphane Campinas
ab7f4e19eb
rewrite_comment: fix block fallback when failing to rewrite an itemized block
...
Close #3224
2018-12-02 00:22:36 +01:00
Stéphane Campinas
d03d9a45ef
end expressions like return/continue/break with a semicolon
...
Close #3213
2018-11-29 20:39:07 +01:00
Stéphane Campinas
40174e9481
fix the visitor's starting position when visiting a labelled block
...
Close #3217
2018-11-28 22:50:17 +01:00
Nick Cameron
bbc380b1e6
Merge pull request #3221 from alexreg/cosmetic-1
...
Cosmetic improvements
2018-11-28 15:29:18 +13:00
Alexander Regueiro
7fb5c0b0c9
Cosmetic improvements
2018-11-27 23:03:09 +00:00
Nick Cameron
378994b858
Add a version option
2018-11-27 14:18:14 +13:00
Stéphane Campinas
a2da636ab3
allow to run a rustfmt command from cargo-fmt even when there is no target
2018-11-26 20:39:12 +01:00
Nick Cameron
b9f4624ca6
fixup minor bugs
2018-11-19 14:09:29 +13:00
Nick Cameron
3d01fc186a
Merge pull request #3177 from kestred/kstenerson/preserve-brace-leading-ws
...
Format brace-delimited macros with a space after the name
2018-11-19 13:35:09 +13:00
Seiichi Uchida
1dd54e67a1
Prefer to break arguments over putting output type on the next line ( #3190 )
2018-11-18 21:31:40 +09:00
Kevin Stenerson
bc5124e016
Always enforce exactly one space between macro!
and braces ({}
)
2018-11-17 11:53:11 -07:00
Kevin Stenerson
1a3bc79c68
Preserve possibly one whitespace for brace macros
2018-11-16 14:57:43 -07:00
Matthias Krüger
3aa153398a
fix a few clippy warnings
...
types.rs:
fix single_char_pattern (use character patters instead of string for .ends_with() and .starts_with()
patterns.rs
expr.rs
file_lines.rs:
fix into_iter_on_ref_ptr (use iter() or iter_mut() instead of into_iter()
tests/mod.rs:
check_files(): take Option<PathBuf> by reference
2018-11-16 22:25:33 +01:00
Nick Cameron
dd7add784b
Don't align comments on extern crate
s
...
Closes #3128
2018-11-15 21:38:01 +13:00
Stéphane Campinas
a4e97fa17b
compute the span after a struct-like item based on the ident description
2018-11-13 21:10:30 +01:00
Stéphane Campinas
d121d7205f
fix logic for adding or not a newline after a missed span
2018-11-09 20:50:07 +01:00
Nick Cameron
4e2f741917
Merge pull request #3175 from kestred/kstenerson/delimited-overflow
...
Add config option to more aggressively allow overflow
2018-11-09 15:46:23 +13:00
Kevin Stenerson
97843377ee
Replace always true conditionals with true
2018-11-08 19:26:12 -07:00
Nick Cameron
6efc963245
Merge pull request #3188 from scampi/issue3124
...
do not add a newline after a missed span if it is the end of a block comment
2018-11-09 15:26:05 +13:00
Nick Cameron
c4cc479fcd
Merge pull request #3183 from scampi/issue3182
...
do not wrap comments in doctest to avoid failing doctest runs
2018-11-09 15:14:44 +13:00
Stéphane Campinas
f570438e75
do not add a newline after a missed span if it is the end of a block comment
2018-11-08 22:44:59 +01:00
Seiichi Uchida
9534dfc062
Cargo update ( #3186 )
...
Update `rustc-ap-*` crates to 290.0.0.
2018-11-08 23:16:13 +09:00
Alan Du
3986e690d1
Do not count /*/ as both start and end comment ( #3185 )
2018-11-08 14:28:08 +09:00
Stéphane Campinas
a5043a81be
do not wrap comments in doctest to avoid failing doctest runs
2018-11-07 16:48:39 +01:00
Stéphane Campinas
9467033a8e
fix the logic for retaining a comment before the arrow in a match
2018-11-07 15:00:33 +01:00
Kevin Stenerson
cd8bb50aea
Trim the indentation on macros which heuristically appear to use block-style indentation ( #3178 )
2018-11-07 17:49:53 +09:00
Kevin Stenerson
25b828d35f
Add config option to more aggressively allow overflow
2018-11-05 21:12:40 -07:00
Nick Cameron
16d5f507b6
Merge pull request #3172 from scampi/issue3153
...
trim the start of a line when wrapping an item in preparation for formatting
2018-11-06 10:23:30 +13:00
Stéphane Campinas
5a2ebdddcc
trim the start of a line when wrapping an item in preparation for formatting
2018-11-05 20:22:06 +01:00
Rémy Rakic
83d1d9aa14
normalize_doc_attributes: remove leading whitespace from the doc comment opener
...
Remove possible whitespace from the `CommentStyle::opener()` so that the literal itself has control over the comment's leading spaces.
This is most useful for tools, such as bindgen, to allow for example: machine-readable comments with precise syntax rules, or idempotently round-tripping between the proc-macro API and rustfmt.
2018-11-05 18:24:36 +01:00
Stéphane Campinas
7132fe03a0
fix alignment of a struct's fields with the visual style
...
- rewrite_with_alignment was called from the expr module with the wrong
shape that missed the extra offset needed for the visual style
- rewrite_with_alignment was indenting the given shape although that
should have been the caller's responsability
2018-11-04 23:41:21 +01:00
Nick Cameron
8506f5e5ce
Merge pull request #3159 from scampi/issue-3132
...
The method trim_left_preserve_layout didn't handle tabs properly.
2018-10-31 14:33:11 +13:00
Nick Cameron
2c471a559f
Merge pull request #3152 from topecongiro/do-not-override-edition-in-rustfmt-toml
...
Use edition in rustfmt.toml when no command line argument is passed
2018-10-31 13:31:24 +13:00
Stéphane Campinas
2d718a3fc2
The method trim_left_preserve_layout didn't handle tabs properly.
...
This is fixed by taking the method macros::indent_macro_snippet which
essentially does the same: it indents a paragraph while preserving the
layout.
2018-10-30 20:24:03 +01:00
Emilio Cobos Álvarez
4a82252f03
missed-spans: Fix bogus check.
...
I don't really know what it's trying to do, but forgetting about everything
you've seen before when you see whitespace followed by a semicolon doesn't look
right to me, and absolutely no tests were hitting that.
This check was introduced in 5ecdd072d6
, however
it was wrong even at that point, and now rustfmt still passes that test,
regardless of macro name.
Fixes #3154 .
2018-10-30 03:21:28 +01:00
Seiichi Uchida
6fa804deba
Use edition in rustfmt.toml when no command line argument is passed
2018-10-29 22:53:29 +09:00
Nick Cameron
1f64f4012f
Merge pull request #3141 from dfyz/issue-2810
...
Try to fix formatting failures on Windows (issue #2810 )
2018-10-29 11:29:51 +13:00
Nick Cameron
bdd40493ca
Merge pull request #3144 from otavio/issues-3143
...
cargo-fmt: Fix splitting of targets across editions
2018-10-29 11:22:05 +13:00
Ivan Komarov
00a20bceff
Fix formatting failures on Windows
...
When newline_style is set to Windows, an empty line inside of a macro
results in `\r` being passed to the `fold()` in `MacroBranch::rewrite()`.
`\r` is technically not an empty string, so we try to indent it, leaving
trailing whitespaces behind, even though that was not intended
(as far as I can see).
This commit replaces the `!l.is_empty()` check with calling
`is_empty_line()`, since trying to indent any whitespace-only string
will probably result in problematic trailing whitespaces.
Fixes : #2810
2018-10-28 02:37:55 +03:00
Otavio Salvador
12275f2e6a
cargo-fmt: Fix splitting of targets across editions
...
When I reworked the code, it ended not generating the complete list of
need targets. Fix it.
Fixes : #3143 .
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-27 16:13:22 -03:00
Otavio Salvador
3efca8a596
cargo-fmt: Add --edition when printing the command
...
By mistake, it was forgotten to print out the edition in use when
printing the rustcmd command. Fix it.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-27 11:49:48 -03:00
Seiichi Uchida
5ca90edc5b
Do not remove path disambiugator inside macro
2018-10-27 11:22:40 +09:00
Nick Cameron
8fb1b179bf
Merge pull request #3140 from matthiaskrgr/redundant_clones
...
fix clippy::redundant_clones warnings.
2018-10-27 12:29:59 +13:00
Matthias Krüger
68638508d4
fix clippy::redundant_clones warnings.
2018-10-26 14:45:25 +02:00
Seiichi Uchida
7093bbe2ff
Simplify handling parens on generic bound trait
2018-10-26 16:39:35 +09:00
Otavio Salvador
9c3ae2d951
Stabilize edition
configuration option
...
Refs: #3104 .
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-24 22:49:17 -03:00
Nick Cameron
6739dbe77d
Merge pull request #3129 from otavio/issue-3104
...
cargo-fmt: detect Rust edition in use
2018-10-25 13:39:40 +13:00
Otavio Salvador
de0b661bfa
cargo-fmt: Take into account the edition for each target
...
When formatting the crate, with `cargo fmt`, it parses each target
with the specific Rust edition.
Fixes : #3104 .
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-24 10:01:08 -03:00
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
Seiichi Uchida
0f6607bb8a
Merge pull request #3088 from otavio/fix-misleading-comment
...
rewrite: adjust comment as it refers to `is_if_else_block`
2018-10-11 22:52:17 +09:00
Otavio Salvador
6391b7ab35
rewrite: adjust comment as it refers to is_if_else_block
...
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-11 10:37:15 -03:00
Stéphane Campinas
7003276b73
fixed display message for the LineOverflow error
2018-10-11 09:05:33 +02:00
Nick Cameron
3c9ec96094
Merge pull request #3084 from otavio/issue-1990
...
Enable `stdin_disable_all_formatting_test` test
2018-10-10 10:40:18 +12: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
Otavio Salvador
2ae1b4804c
Enable stdin_disable_all_formatting_test
test
...
Fixes : #1990 .
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-09 09:06:16 -03:00
Stéphane Campinas
c0b7222e2d
handle itemized items inside comments
2018-10-09 00:44:59 +02:00
Nick Cameron
2f25ae7e57
Merge pull request #3082 from otavio/bump-dependencies
...
Bump dependencies
2018-10-09 08:01:25 +12:00
Otavio Salvador
0279b7d02c
Replace isatty
crate with atty
...
The `isatty` crate has been deprecated and a replacement has been
released for it called `atty`. It offers a nicer API and the code
change to adapt is trivial.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-08 14:39:16 -03: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
Stéphane Campinas
bb7442802a
rewrite_string: retain blank lines that are trailing
2018-10-08 14:48:15 +02:00
Stéphane Campinas
1c6a2e3de8
rewrite_string: take care of blank lines appearing within the last line
2018-10-08 14:48:14 +02:00
Stéphane Campinas
3205e17cc3
rewrite_string: handle newlines in the last line that fits in the shape for cases where line_start is not a whitespace
2018-10-08 14:48:14 +02:00
Stéphane Campinas
2fc1de6b4a
rewrite_string: do not overflow the next line when the line_start is not a whitespace
2018-10-08 14:48:13 +02:00
Stéphane Campinas
f46082fbd8
rewrite_string: trim trailing whitespace in case the last_line fits in the given shape
2018-10-08 14:48:13 +02:00
Seiichi Uchida
70177a08a4
Format a macro call with multile item-like arguments
2018-10-08 13:52:26 +09:00
Seiichi Uchida
baa20dfcf1
Format a macro call with a single item-like argument
2018-10-08 13:50:03 +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
Nick Cameron
b32cf4aad8
Merge pull request #3063 from otavio/add-doc-is_doc_comment
...
comment: Add documentation to `is_doc_comment` public method
2018-10-08 10:41:18 +13:00
Seiichi Uchida
003fc730e6
Fix empty types being inserted to closure
...
cc https://github.com/rust-lang/rust/pull/54229 .
2018-10-07 00:52:06 +09:00
Ivan Molodetskikh
dee68434e6
Overflow Visual functions even with one argument
2018-10-06 16:32:38 +03:00
Ivan Molodetskikh
cbaed838d5
No trailing comma in struct literals (Visual)
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
70c8e366a6
Format a paren expr with double slash comment
2018-10-01 00:07:18 +09:00
Seiichi Uchida
30048222f2
Consider a multi-lined array as a block-like expression
2018-09-30 23:28:14 +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
Seiichi Uchida
d7e1f0006a
Put arguments of the fail attribute on the same line as println!
2018-09-30 08:05:45 +09:00
Seiichi Uchida
052ba6c5df
Move maybe_get_args_offset to overflow.rs
2018-09-30 08:05:45 +09:00
Seiichi Uchida
63387824b3
Avoid using to_expr as much as possible
2018-09-30 08:05:45 +09:00
Seiichi Uchida
c302409f56
Get rid of ToExpr trait
2018-09-30 08:05:35 +09:00
Seiichi Uchida
755d27a424
Take impl Iterator for overflow routines
2018-09-29 14:33:00 +09:00
Otavio Salvador
301ddd39db
comment: Add documentation to is_doc_comment
public method
...
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-09-28 10:01:07 -03:00
Nick Cameron
4c1b0c2241
Merge pull request #3061 from mehcode/feature/default-edition
...
Fix help message for edition config option
2018-09-28 21:54:29 +12: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
Ryan Leckey
c7377c3555
Fix help message for edition config option
2018-09-27 22:31:17 -07: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
88f3b32e43
Remove unnecessary feature flag
2018-09-25 18:23:17 +12: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
f70d139f9c
Do not trim a block from expression if its condition will go multi-line
2018-09-21 00:58:47 +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
e2b9c66cc9
Cargo fmt
2018-09-19 23:22:26 +09:00
Seiichi Uchida
d4f7e219dc
Fix shape for index
2018-09-19 23:21:07 +09:00
Seiichi Uchida
76650174c7
Combine chain items only when the item will get orphaned
2018-09-19 23:20:43 +09:00
Seiichi Uchida
7eca33f8a5
Format generics on associated types
2018-09-19 22:33:28 +09:00
Nick Cameron
829dbfabe9
Merge pull request #3028 from scampi/issue2973
...
Fix indent computation of a macro with braces.
2018-09-19 11:31:28 +12:00
Nick Cameron
1739041f03
Merge pull request #3002 from lqd/normalize-doc-attributes
...
normalize_doc_attributes option: convert doc attributes to comments
2018-09-19 11:05:27 +12:00
Nick Cameron
2267c2cddc
Merge pull request #3001 from scampi/issue2977
...
propagate errors about failing to rewrite a macro
2018-09-19 10:43:21 +12:00
Nick Cameron
14fdf2e6b1
Merge pull request #3014 from PSeitz/master
...
fixes #2914 by handling BadIssue case
2018-09-19 10:42:16 +12:00
Seiichi Uchida
661bea71c1
Merge pull request #3013 from YaLTeR/fix-issue-2985
...
Fix wrong shape for last chain items for indent_style = "Visual"
2018-09-18 20:21:21 +09:00
Nathan Sutton
d165533813
Improve error message when failing cargo metadata ( #3024 )
2018-09-18 20:20:07 +09:00
Seiichi Uchida
abe1e60a73
Merge pull request #3017 from matthiaskrgr/typo
...
cargo fmt: fix typo in format_crate(): (verison -> version)
2018-09-18 20:17:59 +09:00
Nick Cameron
01c14a2058
Merge pull request #3012 from YaLTeR/fix-issue-2496
...
Fix match arm block flattening
2018-09-18 21:12:12 +12:00
Stéphane Campinas
c3edf6d3a1
Fix indent computation of a macro with braces.
...
The leading whitespace of a multine string was taken into account when
computing the `min_prefix_space_width`, even if that line couldn't be
trimmed. The consequence is it was always shifting the macro's content
to the right.
2018-09-18 00:01:51 +02:00
Rémy Rakic
6c96ab7c9a
address review comment in Attribute rewrite fn
2018-09-13 01:13:07 +02:00
Rémy Rakic
9f6cf7b72c
move config attribute
2018-09-13 00:37:31 +02:00
Matthias Krüger
5947ea607c
cargo fmt: fix typo in format_crate(): (verison -> version)
2018-09-12 21:43:31 +02:00
Stéphane Campinas
1befc93ba0
implement Drop from FmtVisitor in order to simplify failures passing
2018-09-12 13:09:07 +02:00
Nick Cameron
81a4235c7f
Merge pull request #3000 from dimbleby/dch/typo
...
Fix typo in usage text
2018-09-12 15:33:18 +12:00
Nick Cameron
f5f64b3b4a
Merge pull request #2998 from ReapOmen/fix-rustfmt-diff-output
...
Change `print_diff` to output the correct line number.
2018-09-12 15:32:27 +12:00
Nick Cameron
e39bd35ae1
Merge pull request #3010 from topecongiro/issue-3009
...
Refactor the corner case of handling long function
2018-09-12 13:55:41 +12:00
Nick Cameron
bba7dbf2d7
Merge pull request #3011 from topecongiro/rustc-ap-syntax
...
Cargo update
2018-09-12 13:55:06 +12:00
Ivan Molodetskikh
11435c5954
Don't insert a new line when fn has no return type
2018-09-11 12:34:33 +03:00
Pascal Seitz
60c414c857
fixes #2914 by handling BadIssue case
2018-09-11 10:46:39 +02:00
Ivan Molodetskikh
4b4fb557d7
Fix last chain item shape for Visual indent_style
2018-09-11 11:09:31 +03:00
Ivan Molodetskikh
838df8dfb6
Use correct heuristic for match block flattening
2018-09-11 08:54:43 +03:00
Seiichi Uchida
e06f16a0a5
Cargo update
2018-09-11 13:52:46 +09:00
Seiichi Uchida
d8357484ac
Refactor the corner case of handling long function
2018-09-11 13:31:37 +09:00
Nick Cameron
77824a24ef
Merge pull request #2988 from YaLTeR/fix-issue-2922
...
Use correct indent in rewrite_bare_fn with Visual style
2018-09-11 15:50:13 +12:00
Alex Crichton
46e2a2e7c7
Support platforms without a timer
...
I've dabbled recently in seeing how hard it would be to compile rustfmt to wasm
and then run it in a web browser, and it turns out that it's [not too
hard][wasm]! In addition to patching a few dependencies which already have a
number of patches out rustfmt also needed some modifications to get it to work,
namely avoiding the usage of `Instant::now()` on the "happy path" which doesn't
work on wasm (it just panics).
This commit is an attempt to add a support for this by avoiding using
`Instant::now()` on the wasm target, but panicking if the actual time elapsed is
requested (which doesn't happen unless verbosely logging I believe).
[wasm]: https://alexcrichton.github.io/rustfmt-wasm/
2018-09-09 11:13:15 -07:00
lqd
4b7130dfa1
normalize_doc_attributes option: convert doc attributes to comments
...
Convert `#![doc]` and `#[doc]` attributes to `//!` and `///` doc comments.
2018-09-07 21:58:35 +02:00
Stéphane Campinas
6f318e3cef
propagate errors about failing to rewrite a macro
2018-09-07 14:48:52 +02:00
David Hotham
90ec5a226f
Fix typo in usage text
2018-09-07 09:01:44 +01:00
Robert Bartlensky
992b179d33
Change print_diff
to output the correct line number.
2018-09-06 17:18:33 +01:00
Matthias Krüger
e058a3f7e7
fix cargo test --release.
...
test::verify_check_works was failing in relase mode on my machine.
The problem was it would check for target/debug/rustfmt in release mode instead of
target/release/rustfmt and fail an assert.
This commit fixes it so that cargo check looks for target/debug/rustfmt and
cargo check --release looks for target/release/rustfmt
2018-09-06 02:07:09 +02:00
Nick Cameron
f655671e12
Merge pull request #2983 from topecongiro/issue-2642
...
Handle raw string literals in CharClasses
2018-09-04 19:11:49 +12:00
topecongiro
1704e24956
Cargo update
2018-09-04 00:17:26 +09:00
Nick Cameron
2291be7fa1
Merge pull request #2992 from max-sixty/clippy2
...
Clippy 2/2
2018-09-03 13:25:35 +12:00
Nick Cameron
a67208f212
Merge pull request #2986 from topecongiro/issue-2907
...
Handle chain w/ try operators with spaces
2018-09-03 13:10:50 +12:00
Nick Cameron
5fb9418aec
Merge pull request #2991 from topecongiro/raw-identifier-in-chain
...
Handle raw identifiers in chain
2018-09-03 13:08:19 +12:00
Maximilian Roos
968affc3e0
final clippy changes
2018-09-01 16:32:38 -04:00
Seiichi Uchida
08e282877a
Handle raw identifiers in chain
2018-09-01 16:18:27 +09:00
Ivan Molodetskikh
54f8bcb5a2
Use correct fn args indent for Visual
2018-08-31 16:53:18 +03:00
Ivan Molodetskikh
05b6aaa130
Add debug logging to fn-related functions
2018-08-31 16:52:45 +03:00
Ivan Molodetskikh
6a029974de
Fix shape in rewrite_tuple_in_visual_indent_style
2018-08-31 15:50:41 +03:00
Seiichi Uchida
20aac086d6
Simplify post-comment extraction
2018-08-31 18:20:28 +09:00
Seiichi Uchida
9df1dbe1ac
Use trim_tries to extract post comment over simple trim_matches
2018-08-31 18:20:28 +09:00
Seiichi Uchida
612f1af734
Use trim_tries to extract pre-comments over simple trim_matches
2018-08-31 18:20:28 +09:00
Seiichi Uchida
2880d59ec0
Add trim_tries
2018-08-31 18:20:25 +09:00
Ryan Leckey
eec74360dc
Accept 2015 and 2018 instead of Edition2015 and Edition2018 for edition option
2018-08-31 00:04:23 -07:00
Maximilian Roos
b1da2a53b4
Merge branch 'master' into clippy2
2018-08-31 00:19:12 -04:00
topecongiro
67480422b9
Handle raw string literal without any sharps
2018-08-31 10:49:39 +09:00
topecongiro
309be479b2
Handle raw string literals in CharClasses
2018-08-31 10:37:46 +09:00
Seiichi Uchida
ad903e08fd
Keep formatting fn even if there is an unformattable argument
2018-08-30 23:39:39 +09:00
Nick Cameron
1a6f215fb5
Merge pull request #2975 from max-sixty/clippy
...
Some clippy changes
2018-08-30 16:43:04 +12:00
Maximilian Roos
7d60e3a1ad
more clippy
2018-08-28 21:57:08 -04:00
Maximilian Roos
df72570b58
set of clippy changes
2018-08-28 00:33:51 -04:00
crw5996
18cd0c4986
Fixed overly complicated code as requested in the code review
2018-08-27 23:08:37 -04:00
crw5996
d832525809
Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into fix-use-bug
2018-08-27 23:04:55 -04:00
crw5996
20075306f7
Fixed Issues brought up in PR
2018-08-27 22:59:44 -04:00
crw5996
5d642e8b23
Fixed #2955 . Added value to determine whether or not rustfmt has condensed a tuple-struct
...
Refactored to not use a mutable variable
2018-08-27 15:25:40 -04:00
Seiichi Uchida
0d60f6715d
Use span_ends_with_comma to find a trailing comma in an attribute
2018-08-27 16:37:58 +09:00
Nick Cameron
97d29ff2e1
Merge pull request #2942 from crw5996/fix-ellipsis-bug
...
Fix Issue with ellipsis matching in pattern.rs
2018-08-27 09:44:28 +12:00
Nick Cameron
d456161b67
Merge pull request #2966 from topecongiro/issue-2953
...
Format in-place expression like assignment
2018-08-27 09:39:08 +12:00
Nick Cameron
454a20ac01
Merge pull request #2948 from CAD97/patch-2
...
Consider "dev" as nightly for feature (un)gating
2018-08-27 09:23:16 +12:00
Seiichi Uchida
78a0cde5bf
Format in-place expression like assignment
2018-08-26 13:20:25 +09:00
Seiichi Uchida
6aae9d870f
Remove an unnecessary attribute
2018-08-26 13:20:07 +09:00
Zach Lute
ca19c9a35a
Fix build with rust nightly by updating try block syntax. ( #2965 )
2018-08-26 13:02:24 +09:00
Maximilian Roos
10512a59d0
Impl only use ( #2951 )
2018-08-24 14:39:05 +09:00
chris
4e748a269e
Fixed ellipsis bug where rustfmt was creating code that could not be parsed
2018-08-24 00:58:21 -04:00
cad97
fc1909d311
Reformat
2018-08-23 17:14:19 -04:00
cad97
04d804c365
Rename CodeMap/FileMap to SourceMap/SourceFile
...
#2946
2018-08-23 17:10:46 -04:00
Christopher Durham
8cc4200b7d
Consider "dev" as nightly for feature (un)gating
2018-08-23 04:28:44 -04:00
Christopher Durham
a15df80e96
Consider "dev" as nightly for feature (un)gating
...
Closes #2940
2018-08-23 04:24:15 -04:00
Nick Cameron
8573df602a
Merge pull request #2925 from scampi/issue539
...
discard trailing blank comments
2018-08-23 10:13:56 +12:00
Nick Cameron
f40baaa272
Merge pull request #2935 from topecongiro/rustc-ap-syntax
...
Cargo update
2018-08-21 20:28:56 +12:00
Nick Cameron
127a480726
Merge pull request #2915 from Xanewok/file-lines-ser-json
...
Expose FileLines JSON representation
2018-08-21 20:26:25 +12:00
Seiichi Uchida
05a0c8140d
Update import path to ThinVec
2018-08-19 00:26:34 +09:00
Stéphane Campinas
2db2327aaf
fix verbose output
2018-08-16 20:00:49 +02:00
Stéphane Campinas
dd14d304ef
discard trailing blank comments
2018-08-16 19:59:32 +02:00
Stéphane Campinas
f23e6aaaf9
fix the identification of a block comment.
...
Block comments like below were not properly supported:
/*
something here but it doesn't start with a star
*/
because of the line that didn't start with a star.
2018-08-16 19:55:15 +02:00
Seiichi Uchida
b318e5a684
Increase the max width by tab width when using format_code_block
...
since the macro body will be surrounded by fn main block.
2018-08-16 07:49:55 +09:00
Seiichi Uchida
9a5a86164f
Reduce the max width by the width of indent
2018-08-16 07:49:55 +09:00
Igor Matuszewski
9d52940dbe
Run cargo fmt
2018-08-14 23:23:00 +02:00
Igor Matuszewski
38361c05bc
Make file_lines_to_json test deterministic
2018-08-14 23:22:09 +02:00
Igor Matuszewski
4604f46ce8
Expose FileLines JSON representation
2018-08-14 13:33:58 +02:00
Seiichi Uchida
934cf2807d
Remove a wildcard parttern from slice patterns
2018-08-12 23:56:09 +09:00
Nick Cameron
66d3924aa8
Merge pull request #2899 from topecongiro/chain-with-comments
...
Format chains with comment
2018-08-07 15:07:23 +12:00
Seiichi Uchida
a201d856d1
Add comment
2018-08-06 22:34:58 +09:00
Seiichi Uchida
4ad1c66001
Use custom path value if one exists when searching modules
2018-08-06 22:28:05 +09:00
Nick Cameron
803d000ed3
Merge pull request #2900 from topecongiro/combine-attrs
...
Combine function-like attributes
2018-08-06 19:37:05 +12:00
Nick Cameron
e4d560b914
Merge pull request #2897 from topecongiro/issue-2896
...
Ignore comment in wrap_str
2018-08-06 19:36:03 +12:00
Nick Cameron
8cd6633499
Merge pull request #2892 from topecongiro/issue-2884
...
Explicitly handle semicolon after the item in statement position
2018-08-06 19:34:44 +12:00
Nick Cameron
f6a76c443e
Merge pull request #2890 from topecongiro/use-builder-pattern-for-ListFormatting
...
Use builder pattern for ListFormatting
2018-08-06 19:34:08 +12:00
Seiichi Uchida
b1c241ea72
Combine list-like attributes
2018-08-06 08:10:19 +09:00
Seiichi Uchida
4bbfe0829d
Fix chain with many try operators
2018-08-05 21:03:45 +09:00
Seiichi Uchida
e6d814c423
Put comment between chain elements on its original position
2018-08-05 19:55:22 +09:00
Seiichi Uchida
24fccdc45c
Factor out functions that extract comments around items
2018-08-05 19:55:03 +09:00
Seiichi Uchida
3ec6de1de8
Add FIXME comment
2018-08-05 15:06:05 +09:00
Seiichi Uchida
49945a14f7
Format
2018-08-05 15:04:48 +09:00
Seiichi Uchida
9e113b5bab
Do not handle comment when converting try
...
As we get faulty span.
2018-08-05 15:03:36 +09:00
Seiichi Uchida
75967f0da2
Add a space before comment that comes after a block-like chain item
2018-08-05 14:37:13 +09:00
Seiichi Uchida
91c058a516
Veto putting a chain with comment in a single line
2018-08-05 14:34:34 +09:00
Seiichi Uchida
caefd218c9
Do not combine short parent and comment
2018-08-05 14:28:20 +09:00
Seiichi Uchida
e6bde923f5
Format comment between chain elements
2018-08-05 14:28:10 +09:00
Seiichi Uchida
844e878d12
Add Comment to ChainItemKind
2018-08-05 14:27:47 +09:00
Seiichi Uchida
fc3ea494ac
Make children list in-order
...
instead of working on reveresed list.
2018-08-05 13:54:28 +09:00
Seiichi Uchida
c480309aad
Get correct span
2018-08-05 13:35:33 +09:00
Seiichi Uchida
c20bf454c9
Add Span field to ChainItem
2018-08-05 13:02:24 +09:00
Seiichi Uchida
c5b36f53ae
Normalize chain elements
...
Instead of passing around a list of subexpressions ([`a`, `a.b`, `a.b.c`]),
we now use a list of chain element ([`a`, `.b`, `.c`]). This should make it
easier to extract comments between chain elements.
2018-08-05 11:45:05 +09:00
Seiichi Uchida
2eeb366311
Ignore comment in wrap_str
2018-08-05 10:50:43 +09:00
Seiichi Uchida
2eca09e438
Fix parsing '#'-hiding of rustdoc
2018-08-05 08:44:20 +09:00
Seiichi Uchida
d96e3ca604
Explicitly handle semicolon after the item in statement position
2018-08-04 09:59:38 +09:00
Seiichi Uchida
1a6df18d6f
Remove pub(self)
2018-08-04 08:47:48 +09:00
Seiichi Uchida
e5c79bb26b
Fix imports
2018-08-03 22:14:45 +09:00
Seiichi Uchida
024c03e81b
Use builder pattern for ListFormatting
2018-08-03 22:13:20 +09:00
Seiichi Uchida
1928ae78a2
Regard digits as an upper case character
2018-08-03 20:06:36 +09:00
Nick Cameron
5ed600cbeb
Merge pull request #2879 from RReverser/master
...
Fix check for unstable features
2018-08-01 10:28:49 +12:00
Nick Cameron
df2e8bb594
Merge pull request #2873 from aloucks/auto-detect-newline-style
...
Auto-detect newline style by default
2018-08-01 10:06:31 +12:00
Ingvar Stepanyan
593a5c40a4
Use is_nightly helper instead of duplicate code
2018-07-31 11:53:22 +01:00
Ingvar Stepanyan
c25deef110
Fix check for unstable features
...
These features are registered only on Nightly and so matches.opt_present panics when it's called without the is_nightly guard.
2018-07-31 11:50:09 +01:00
Aaron Loucks
dab572e0b0
Increase capacity for newline conversion buffer
2018-07-30 23:19:46 -04:00
Nick Cameron
ca6b360c8a
Emit 0 exit code for --version and similar operations
...
Fixes #2878
2018-07-31 13:41:49 +12:00
Nick Cameron
d43874113e
Warn the user if using an unstable option without --unstable-options
...
Fixes #2796
2018-07-31 10:02:32 +12:00
Nick Cameron
3c20d8a9e6
Merge pull request #2874 from cavedweller/master
...
Format Async block and async fn
2018-07-31 08:52:07 +12:00
Benjamin Brittain
46b241004d
fix nits
2018-07-29 17:20:21 -07:00
Ben Brittain
fedde3790c
Add tests for async & async move
2018-07-29 08:55:36 -07:00
Ben Brittain
0b25f602fd
Format Async block and async fn
2018-07-29 08:05:38 -07:00
Aaron Loucks
6ff2a5e0f3
Auto-detect newline style by default
2018-07-29 10:12:31 -04:00
Andrew Audibert
f121b1a3a9
Support raw identifiers in struct expressions
2018-07-28 19:40:52 -07:00
Nick Cameron
69ad879d52
Merge pull request #2864 from topecongiro/issue-2863
...
Modify the rule for reordering impl items
2018-07-27 16:24:46 +12:00
Nick Cameron
814f6339b4
Merge pull request #2862 from topecongiro/issue-2852
...
Preserve parens in trait bounds
2018-07-27 16:24:11 +12:00
Seiichi Uchida
7b37776ade
Modify the rule for reordering impl items
...
1. If two items have the same kind, then reorder them based on its ident.
2. Handle existential type.
2018-07-26 21:37:23 +09:00
Seiichi Uchida
e6255ca3de
Preserve parens in trait bounds
2018-07-25 18:27:25 +09:00
Nick Cameron
8ff2836eaf
Merge pull request #2861 from topecongiro/issue-2859
...
Put lifetimes after trait when they gets orphaned
2018-07-25 21:22:25 +12:00
Seiichi Uchida
339fa20973
Veto converting delimiters inside nested macro
2018-07-25 08:58:37 +09:00
Seiichi Uchida
6cecdd681f
Put lifetimes after trait when they gets orphaned
2018-07-25 08:44:32 +09:00
Seiichi Uchida
975b3753ba
Keep the inside macro context in nested macro call
2018-07-25 07:15:33 +09:00
Seiichi Uchida
6d7a764b3d
Remove span from rewrite_generics's parameter
...
We can just use the span from ast::Generics.
2018-07-25 00:34:46 +09:00
Seiichi Uchida
fc307ff582
Format exitential type
2018-07-25 00:30:01 +09:00
Nick Cameron
43f178bd58
Remove Summary
2018-07-24 21:45:15 +12:00
Nick Cameron
df4fb8a05b
Reformatting after rebase
2018-07-24 15:49:35 +12:00
Nick Cameron
f9510a55eb
chains: fix visual indent chain layout
2018-07-24 15:46:39 +12:00
Nick Cameron
8618a55834
chains: treat some string lits as blocks
2018-07-24 15:46:39 +12:00
Nick Cameron
481e85cc58
formatting
2018-07-24 15:46:39 +12:00
Nick Cameron
f0fe9c3c4a
chains: prefer to use the next line for an expression, if using the same line would introduce an open block or similar
...
This problem came to light due to the chains changes, but effects other code too. It only happens rarely, e.g.,
before this fix:
```
match foo {
MacroArgKind::Delimited(ref delim_tok, ref args) => rewrite_delimited_inner(
delim_tok,
args,
).map(|(lhs, inner, rhs)| format!("{}{}{}", lhs, inner, rhs)),
};
```
after:
```
match foo {
MacroArgKind::Delimited(ref delim_tok, ref args) => {
rewrite_delimited_inner(delim_tok, args)
.map(|(lhs, inner, rhs)| format!("{}{}{}", lhs, inner, rhs))
}
}
```
2018-07-24 15:43:29 +12:00
Nick Cameron
5bc27593f4
chains: minor fixups
...
* remove unnecessary clone
* comment formatting
* fix bug with `?` collection
* respect the heuristic if the root is more than just the parent
2018-07-24 15:43:29 +12:00
Nick Cameron
467b095d48
chains: share code between block and visual formatters
2018-07-24 15:43:29 +12:00
Nick Cameron
f55cadb65a
chains: refactor formatting of chain items
2018-07-24 15:43:29 +12:00
Nick Cameron
a56ff9d02f
chains: factor into objects
2018-07-24 15:43:29 +12:00
Nick Cameron
86314bf09f
chains: more refactoring of visual formatting
2018-07-24 15:43:29 +12:00
Nick Cameron
92701552bc
chains: refactor block formatting
2018-07-24 15:43:29 +12:00
Nick Cameron
914e750c9e
chains: further simplification
2018-07-24 15:43:29 +12:00
Nick Cameron
38e8b086e8
chains: refactoring
...
pre-process the expression tree to get a list of chain items.
2018-07-24 15:43:29 +12:00
Nick Cameron
9c82224746
chains: simplify visual formatting a bit
2018-07-24 15:43:29 +12:00
Nick Cameron
d244234607
factor out treatment of 1-length chains
...
And create `Chain` and `ChainItem` structs
2018-07-24 15:43:29 +12:00
Nick Cameron
a8d5f25572
chains: split handling of chains in block and visual cases
...
Just refactoring, lots of code dup here, but it should get better...
2018-07-24 15:43:29 +12:00
Nick Cameron
728b0182c5
Changes to chains with block indent
...
* More often combine a chain item to the previous line (if it is a block)
* Don't indent if the parent is a block
This is not perfect and doesn't pass tests, but I need to refactor to make more
progress
2018-07-24 15:43:29 +12:00
Nick Cameron
d3288841ea
Refactoring: factor format_lines
and format_project
into smaller chunks
2018-07-24 15:17:47 +12:00
Nick Cameron
9fbce1f627
Reorganise formatting.rs
2018-07-24 14:10:09 +12:00