Commit Graph

1963 Commits

Author SHA1 Message Date
Ingvar Stepanyan
70e7716262 Comments WIP 2018-02-04 11:54:03 +00:00
Ingvar Stepanyan
41c393c751 Keep delimiter as part of macro args list 2018-02-04 11:53:10 +00:00
Ingvar Stepanyan
9423cdba82 Omit newline for empty macro branches 2018-02-04 11:53:10 +00:00
Ingvar Stepanyan
5bd036fcac Optimise common => {{ macro pattern 2018-02-04 11:53:10 +00:00
Ingvar Stepanyan
1b9fd01343 Support compact macros 2.0 representation 2018-02-04 11:53:10 +00:00
Ingvar Stepanyan
9318b4d2cf Update some macro tests 2018-02-04 11:53:10 +00:00
Ingvar Stepanyan
5d973d2e8c Initial support for macros 1.1 2018-02-04 11:53:09 +00:00
Seiichi Uchida
f815858420 Use correct offset when unindenting code block
When using hard tabs, we should only remove '\t'.
2018-02-04 17:21:10 +09:00
Seiichi Uchida
3bb0a2a749 Do not reorder items with '#[macro_use]'
Reordering items with `#[macro_use]` could change the semantic of source code.
There could exist other attributes that requires special treatment.
2018-02-04 12:08:02 +09:00
Nick Cameron
346238f497
Merge pull request #2410 from topecongiro/skip-repeat-macro
Skip rewriting macro def with repeat
2018-02-04 14:33:03 +13:00
Seiichi Uchida
61b23a4293 Skip rewriting macro def with repeat 2018-02-04 08:52:50 +09:00
Nick Cameron
30a28a262c Make is_mod_decl more accommodating
Fixes #2403 (I think)
2018-02-02 15:16:29 +13:00
Nick Cameron
7c3a422742 Update libsyntax crates 2018-02-02 14:18:30 +13: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
4c9ab8b405 Cargo fmt with modules reordering enabled 2018-01-29 22:00:07 +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
Seiichi Uchida
7d63490d85 Update to the latest libsyntax changes 2018-01-29 21:44:26 +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
dfc67a5df7 Cargo clippy 2018-01-26 14:53:28 +09:00
Seiichi Uchida
f925c581fe
Merge pull request #2386 from acmcarther/master
Make rustfmt-bin's CARGO_PKG_VERSION envvar optional
2018-01-26 12:35:52 +09:00
Alex McArther
6d294e6bcb Make rustfmt-bin's CARGO_PKG_VERSION envvar optional 2018-01-23 07:55:50 -08:00
Seiichi Uchida
154bf8e1af Cargo fmt 2018-01-22 13:05:18 +09:00
Seiichi Uchida
fa6892eb63 Use field initialization shorthand if possible
Also this PR fixes a bug that attributes on a shorthand field get removed.
2018-01-22 13:04:20 +09:00
David Alber
69f27673df Extending spaces_around_ranges to ranges in match arm patterns 2018-01-21 16:50:17 -08:00
K.J. Valencik
1fb172f989 LineOverflow: Count tabs as tab_spaces when measuring line length for overflow 2018-01-19 12:18:25 -05:00
Seiichi Uchida
298f29a57d Do not panic when special macros have less args than expected 2018-01-18 00:50:16 +09:00
Chris Stinson
4c4e079613 Fixing binop_separator="Back" for ranges
Hardcoded Separator::Place=Front in call to rewrite_pair for range
caused binop_separator="Back" to be hendled incorrectly

Fixed rewrite_pair call and the example in Configuration.md showing
the faulty behaviour
2018-01-16 17:50:20 +13:00
Seiichi Uchida
fa782303a6 0.3.5 2018-01-15 21:34:41 +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
a7d1d1da0e
Merge pull request #2355 from topecongiro/hide-parse-error-format-snippet
Hide parse error in format_snippet()
2018-01-12 17:31:43 +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
Nick Cameron
09e44b22f2
Merge pull request #2351 from topecongiro/issue-2256
Use correct BytePos when recovering comments on removed import
2018-01-12 17:30:27 +13:00
Nick Cameron
be0000380b
Merge pull request #2350 from topecongiro/issue-2324
Issue 2324
2018-01-12 17:27:45 +13:00
Seiichi Uchida
41b14b640a
Merge pull request #2353 from davidalber/merge-print-diff
Consolidating the logic for printing output
2018-01-12 08:26:42 +09:00
David Alber
9f5f9d2250 Consolidating the logic for printing output 2018-01-11 08:02:57 -08:00
Pascal Seitz
2e82ad8c36 case insensitive FIXME and TODO 2018-01-11 11:04:28 +01:00
Seiichi Uchida
2420d346c5 Put attributes and struct fields on different line 2018-01-11 16:57:12 +09:00
Seiichi Uchida
279acda4c4 Remove same_line_attributes config option 2018-01-11 16:52:28 +09:00
Seiichi Uchida
cf4ab38f67 Hide parse error in format_snippet() 2018-01-11 15:19:23 +09:00
Nick Cameron
1ced6d1037 Minor refactoring in macros.rs 2018-01-11 17:40:05 +13: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
949708f617 Use correct BytePos when recovering comments on removed import 2018-01-10 21:30:41 +09:00
Seiichi Uchida
cb0b366b38 Cargo fmt 2018-01-10 17:17:06 +09:00
Seiichi Uchida
590857db37 Reformat a nested function call with a single newline using larger budget 2018-01-10 17:15:02 +09:00
David Alber
d981fb89c0 Removing unused name 2018-01-09 19:56:46 -08:00
David Alber
85ccb98469 Adding test to verify code block idempotency in Configurations.md 2018-01-04 00:01:18 -08: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
Vishal Sodani
3345b00952 Fix #2300 2018-01-04 09:50:45 +05:30
topecongiro
405360a3fd Refactoring: use methods from libsyntax attr module 2018-01-04 12:49:37 +09: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
19d6a3c786 Put the opening brace of impl on the next line
We put the opening brace on the next line if the following conditions hold:

1. the result before '{' ends with comments or contains newline
2. the last line of the result before '{' is not extendable (i.e. consists of
   '>' and whitespaces).
2018-01-04 12:46:55 +09:00
topecongiro
c355f3854c Use correct budget when rewriting generics of trait 2018-01-04 12:46:05 +09:00
Nick Cameron
0f24bc0d44
Merge pull request #2330 from topecongiro/issue-2329
Issue 2329
2018-01-04 15:07:05 +13:00
Seiichi Uchida
d3c2523c32
Merge pull request #2335 from Hopman/rename_git-fmt
Rename git-fmt to git-rustfmt
2018-01-04 10:32:43 +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
Joost Hopmans
361a30b159 Rename git-fmt to git-rustfmt 2018-01-03 14:15:45 +01:00
Nick Cameron
aa758d671f Better handling of comments in macro defs 2018-01-03 20:36:52 +13:00
topecongiro
12ddaf93e2 Remove trim_newlines()
We call `trim_newlines()` after the `trim()`ed buffer, which is unnecessary.
2018-01-02 13:04:39 +09:00
Nick Cameron
f86f6dcd9c Format some macros 2.0 macro defs
cc #1539
2018-01-01 19:51:54 +13:00
David Wood
39e2f43f91 Split assert_eq! if any arguments are not simple 2017-12-27 21:19:42 +00:00
Nick Cameron
e95541c7d2 Make the import of Config pub 2017-12-28 10:08:27 +13:00
Marcus Klaas
656edbf0f0 Use std time 2017-12-27 16:34:09 +13:00
Marcus Klaas
dc356ffef7 Add rudimentary timing of parsing and formatting phases 2017-12-27 16:33:21 +13:00
Nick Cameron
9feb4988f2
Merge pull request #2310 from topecongiro/issue-2309
Do not give up rewriting struct field when attribute is long
2017-12-27 14:12:45 +13:00
Nick Cameron
a6244c2f58
Merge pull request #2311 from topecongiro/format-code-block
Format code block in comment
2017-12-27 13:32:14 +13:00
Seiichi Uchida
4604fea0a0 Refactoring
1. Cargo clippy
2. Run 'cargo fmt' with import reordering options set to `true`.
3. Factor out `rewrite_lifetime_param()`.
2017-12-25 00:13:59 +09:00
Seiichi Uchida
27167cbbaa Format code block in comment
Closes #554.
Closes #1695.
2017-12-24 23:56:51 +09:00
David Wood
212a8a3c29 Slightly simplify write_list for DefinitiveListTactic::SpecialMacro 2017-12-24 12:29:54 +00:00
David Wood
0291331203 Add documentation to expr::SPECIAL_MACRO_WHITELIST 2017-12-24 12:27:07 +00:00
David Wood
3320b400ae Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt 2017-12-24 12:01:59 +00:00
Seiichi Uchida
f523ec58ab Do not give up rewriting struct field when attribute is long 2017-12-24 13:57:29 +09:00
Seiichi Uchida
939a6c5820 Get rid of GenericsArg wrapper type
`GenericsArg` is basically identical to `ast::GenericParam`.
Just use the latter.
2017-12-24 00:29:59 +09:00
Seiichi Uchida
1ef6bccea3 Cargo fmt
Run 'cargo fmt' with the following setting:

```
reorder_imports = true
reorder_imports_in_group = true
```
2017-12-24 00:28:58 +09:00
Seiichi Uchida
0ef2b99b74 Remove workspace membership check 2017-12-23 12:24:58 +09:00
Seiichi Uchida
02bb1c8c97 Rustup to rustc 1.24.0-nightly (5165ee9e2 2017-12-22) 2017-12-23 11:58:19 +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
Nick Cameron
5725f41974
Merge pull request #2298 from davidalber/fix-2269
Adding --version to cargo-fmt
2017-12-22 21:55:07 +13: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
de5683cf11 fix tests 2017-12-22 15:30:45 +13:00
Bastian Köcher
fa67631b32 Fixes compilation with rust version 2017-12-21 2017-12-22 02:52:22 +01: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
Nick Cameron
23dfa827a7
Merge pull request #2295 from topecongiro/issue-2280
Make 'cargo fmt' formats every workspace member
2017-12-22 12:56:53 +13:00
Nick Cameron
72413c55b0 fix libsyntax fallout 2017-12-22 11:30:54 +13:00
David Alber
09d0ca4892 Using common execute rustfmt function 2017-12-20 23:24:28 -08:00
David Alber
f17556966c Reusing status-handling function 2017-12-20 22:36:36 -08:00
David Alber
655022c42b Factoring out status code values 2017-12-20 21:53:33 -08:00
David Alber
6aaed5b08f Adding --version option to cargo-fmt 2017-12-20 21:48:59 -08:00
topecongiro
1d8619d49a Fix wrong indentation on type alias
Use rewrite_assign_rhs() when rewriting type alias.
2017-12-21 09:58:13 +09:00
Seiichi Uchida
85ef4638b6 Make 'cargo fmt' formats every workspace member 2017-12-20 22:47:51 +09:00
topecongiro
366ff40ae7 Take the width of block's prefix into account only once 2017-12-20 15:44:11 +09:00
Seiichi Uchida
ccc487ade7 Do not put comment's line start and closer on the same line 2017-12-17 15:25:24 +09:00
Seiichi Uchida
81eb88c4c0 Respect leading whitespace in original comment when wrapping comment 2017-12-17 15:24:49 +09:00
topecongiro
3a98b5a5be Format trait aliases 2017-12-15 13:47:52 +09:00
topecongiro
d60c2ec5d3 Add an initial support for trait aliases 2017-12-15 10:35:07 +09:00