topecongiro
3a1ffa7db7
Split long fields in structs
...
This commit splits long fields in structs.
Closes #1412 .
2017-03-30 13:37:34 +09:00
Emil Gardström
6971b4b5c9
Implemented support for workspaces
...
closes rust-lang-nursery/rustfmt#1244
2017-03-30 03:29:32 +02:00
Jonathan Behrens
36f0402bac
Canonicalize range path in FileLines::intersects()
2017-03-29 18:50:39 -04:00
Jonathan Behrens
b6f1b516d9
Format any statement whose span intersects file_lines
2017-03-29 01:33:14 -04:00
Nick Cameron
603f26d8f1
Merge pull request #1415 from topecongiro/remove-duplicates
...
Remove duplicates
2017-03-29 17:51:19 +13:00
topecongiro
78826e6783
Fix a typo
2017-03-29 09:17:58 +09:00
Fabian Zaiser
6ecc18c7de
Omit space before '\n' + comment ( fixes #457 )
2017-03-28 16:32:12 +02:00
topecongiro
a2d57e956a
Remove duplicate definitions
...
This commit removes duplicated definitions of `type_annotation_separator` and
`type_bound_colon`.
2017-03-28 23:20:50 +09:00
Nick Cameron
5305bc8436
test fallout
2017-03-28 11:25:59 +13:00
Nick Cameron
5fb1140688
fallout - source reformatting
2017-03-28 11:14:47 +13:00
Nick Cameron
a079b87e7c
Use a char len heuristic rather than item count for chain_one_line_max
2017-03-28 11:12:15 +13:00
Nick Cameron
e4efa22983
Source formatting fallout
2017-03-28 10:58:41 +13:00
Nick Cameron
038436919d
Put the second element of a chain on its own line when block formatting.
2017-03-28 10:56:46 +13:00
Nick Cameron
8bca85c4b6
Support block indent for function calls
...
Uses the `fn_call_style` option.
Fixes #1358
2017-03-28 10:43:46 +13:00
Nick Cameron
f53d5dd90c
Merge pull request #1409 from alobb/1408-empty-tuple-enum-decl
...
Prevent conversion of empty tuples to unit structs
2017-03-27 14:28:41 +13:00
Aaron Lobb
548de69d2d
Prevent conversion of empty tuples to unit structs
...
Fixes #1408
2017-03-26 15:47:48 -07:00
C4K3
abca1deded
Add indent_match_arms option ( #1404 )
...
Makes it optional whether to indent arms in match expressions. Setting this
to false may be desirable for people wishing to avoid double-indents, in
that if the match arm is a block, the block will cause an extra indentation
level, and if it isn't a block but just a single line, it's still easy to
see the logic at a glance.
This style is preferred in certain other languages with switch statements,
e.g. Linux style C and the most common Java style.
2017-03-26 18:32:29 +13:00
Aaron Lobb
0dd0cc1941
Break use
statements into multiple lines ( #1407 )
...
This fixes how line lengths for use statements with multiple
items don't extend beyond the maximum line length.
Fixes #1400
2017-03-26 18:21:43 +13:00
Jon Gjengset
f96e56c3a0
Avoid extra comma in vertical single-field struct patterns ( #1403 )
...
* Add (failing) test for #1397
* Fix for #1397
Specifically, we end up double-adding a trailing comma for single-member
struct patterns that are arranged vertically. One is added by write_list
(since such structs return true for needs_trailing_separator), and
another is added by the if in the old code.
2017-03-26 18:16:45 +13:00
C4K3
6be61bcdd6
Warn on unused config options ( #1402 )
...
This will make it clear if a user has misspelled a config option, or if
an option has been changed/removed.
2017-03-26 18:12:56 +13:00
Nick Cameron
488c0b9546
Test and source fallout
2017-03-22 09:25:26 +13:00
Nick Cameron
4bb31a7231
Block indenting for struct lit patterns
...
Now follows struct_lit_style (and most other struct_lit_ options).
Required a fair bit of refactoring and bug fixes.
Fixes #1311
2017-03-22 09:25:26 +13:00
Robert Gawdzik
bfb1c277a8
Make list_files deterministic ( Closes #1141 ) ( #1393 )
...
- Use BTreeMap instead
2017-03-22 09:00:33 +13:00
Nick Cameron
d4c5d572c8
Unify fn_args_layout and fn_arg_indent
...
Closes #1390
2017-03-20 11:59:08 +13:00
Nick Cameron
21ff1d43ba
Unify a bunch of option types into IndentStyle
2017-03-20 11:46:39 +13:00
Nick Cameron
c986e895bb
Remove FnArgLayoutStyle::BlockAlways
2017-03-20 11:35:53 +13:00
Nick Cameron
ce7b0aacd0
Remove BlockIndentStyle::Inherit
2017-03-20 11:23:44 +13:00
Nick Cameron
0cb6f56647
Block formatting for arrays
...
Fixes #1331
2017-03-20 10:26:19 +13:00
Nick Cameron
0c93e7dacf
Merge branch 'master' of github.com:rust-lang-nursery/rustfmt
2017-03-13 11:43:12 +13:00
Nick Cameron
ed10bf9532
Trailing comma for functions with empty bodies
2017-03-13 11:42:41 +13:00
Nick Cameron
4df405a768
Line breaking around generics in tuple structs
2017-03-13 11:25:46 +13:00
C4K3
ab832fa4bb
config: Rename ideal_width -> comment_width ( #1370 )
...
Since the config option only affects comment widths, and the previous
name has led to some confusion (see #1321 , #1152 ).
2017-03-13 09:07:33 +13:00
Nick Cameron
d5478f7d45
Reformatting source code
2017-03-10 16:06:05 +13:00
Nick Cameron
22be93780c
block generics in traits
2017-03-10 16:04:08 +13:00
Nick Cameron
a1d94e545c
Attempt to fixup impls with long generics
2017-03-10 15:58:35 +13:00
Nick Cameron
c8af03f475
Block formatting for tuple structs
...
Follows the fn_args_layout option
2017-03-10 15:31:45 +13:00
Nick Cameron
7b901130cb
Insert a newline before block-formatted generics
...
Fixes #1359
2017-03-10 14:29:45 +13:00
Nick Cameron
4b60d94a99
Check we can put the where clause on one line when we think we can
...
Fixes #1362
2017-03-10 09:45:26 +13:00
Nick Cameron
70085fca84
Try harder to format function sigs
...
Fixes #1363
2017-03-10 09:26:14 +13:00
Nick Cameron
e3aad6ee83
Be smarter about finding the span for ..
in patterns
...
Fixes #1319
2017-03-09 15:49:58 +13:00
Nick Cameron
d107ca12b8
Use trailing commas if block formatting fn args
...
Fixes #1330
2017-03-09 14:47:29 +13:00
Nick Cameron
6025492245
Implement where_style Rfc
2017-03-09 14:21:20 +13:00
Nick Cameron
b820d50ec0
Add style RFC conformant rustfmt toml
...
Add a new `where` clause option, as yet unused.
2017-03-09 13:16:14 +13:00
Nick Cameron
e7489356c6
Format glob imports
...
Fixes #1356
2017-03-08 10:12:42 +13:00
Nick Cameron
e5638e0cb5
More space for qself paths
...
Fixes #1349
2017-03-07 14:53:10 +13:00
Nick Cameron
981b031c9f
Treat new blocks like existing ones in closures
...
Fixes #1355
2017-03-07 14:30:01 +13:00
Nick Cameron
33b83ae7df
Formatting fallout
...
Also fixes a minor bug when we break a line after `if` and used to leave a trailing space
2017-03-07 09:50:41 +13:00
Nick Cameron
c7a33062e2
Add a heuristic for maximum number of elements in a single-line chain
...
And turn the source hints option to false by default. This should make formatting more deterministic.
2017-03-07 09:34:28 +13:00
Andy Librian
63114f3cac
added unit tests for Indent and Shape ( #1353 )
2017-03-06 07:50:04 +13:00
Nick Cameron
c9ac348759
Fix failing test
2017-03-02 15:03:32 +13:00
Nick Cameron
f2eac0513f
Fix trailing comma tests
2017-03-02 14:27:33 +13:00
Nick Cameron
248f2aba56
Merge branch 'master' of github.com:rust-lang-nursery/rustfmt
2017-03-02 14:27:02 +13:00
Marcus Ball
b8da53ad78
Fix wrap_match_arms resulting in a missing comma ( #1307 )
...
* Fix match arms missing comma with "wrap_match_arms = false"
* remove assert; use body_suffix for comma
* basic test case for issue 1127
2017-03-01 09:46:10 +13:00
Nick Cameron
eff665c5c4
Merge pull request #1334 from gypsydave5/fix_1255
...
Fix #1255 - incorrect removal of `default` on associated types
2017-02-27 11:57:58 +13:00
David Wickes
371ffa4710
Small reformat
2017-02-26 22:28:53 +00:00
David Wickes
094c8898e1
Fix for #1255
...
Default annotation incorrectly removed on associated types
Fixed by adding a specific function to perform formatting on `ImplItems`.
2017-02-26 22:28:21 +00:00
Igor Gnatenko
106e011511
bump syntex_* to 0.58
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-02-26 15:41:32 +01:00
Igor Gnatenko
3323056893
bump regex to 0.2
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-02-26 15:09:31 +01:00
Nick Cameron
6a58d91239
Coalesce trailing comma options
2017-02-24 10:31:23 +13:00
Nick Cameron
7ad352239a
Fix width bug for long patterns in match arms
...
Fixes failing test
2017-02-24 07:52:46 +13:00
Nick Cameron
a84f42d13c
Merge pull request #1326 from durka/assoc-type-density
...
honor type_punctuation_density for assoc. types
2017-02-23 15:00:47 +13:00
Nick Cameron
db10a0b9b2
Merge pull request #1325 from C4K3/master
...
Add error_on_line_overflow option
2017-02-23 14:46:24 +13:00
Nick Cameron
a7612cc773
more fallout
2017-02-23 13:15:48 +13:00
Nick Cameron
d9d2423764
Tweak chain rules
2017-02-23 13:15:48 +13:00
Nick Cameron
9eb78a3333
Fallout
2017-02-23 13:15:48 +13:00
Nick Cameron
ba1202f6b3
test fallout
2017-02-23 13:15:48 +13:00
Nick Cameron
3bbdb0355e
remove some chain options
2017-02-23 13:15:48 +13:00
Nick Cameron
023b578c13
Remove indent from context and only use Shape
2017-02-23 13:14:59 +13:00
Alex Burka
181cde9afb
honor type_punctuation_density for assoc. types
2017-02-22 15:11:16 -05:00
Nick Cameron
b35906dbce
WIP
2017-02-21 16:35:05 +13:00
Sebastian Blunt
f6ccbd71c3
Add error_on_line_overflow option
...
Makes it configurable whether to error if unable to get all lines within
the max_width.
2017-02-19 19:56:37 +01:00
Casey Rodarmor
4f939ddf0c
Don't print config file by default ( #1313 )
...
Supress `Using rusftmt config file...` messages unless the --verbose
flag is given.
2017-02-13 12:50:10 +13:00
sinkuu
fad74c8ac9
Support field-init-shorthand ( #1308 )
2017-02-13 07:16:11 +13:00
Craig M. Brandenburg
f2c867d067
New disable_all_formatting
config option ( #1297 )
...
* New `disable_all_formatting` config option
* Resolve code review comments
2017-02-07 17:11:47 +13:00
Trevor Spiteri
6810c762df
Handle multiline condition in let if else ( fixes #1239 )
2017-01-31 23:35:57 +01:00
Nick Cameron
428339fdc3
Refactor indent and width into Shape struct
2017-01-31 08:35:23 +13:00
Nick Cameron
6054f28bd2
Some debugging stuff
2017-01-27 09:14:26 +13:00
Nick Cameron
e56ef44a3a
Do not format string lits by default
2017-01-27 08:11:59 +13:00
Nick Cameron
1f3100d7bb
Make string lit formatting fallible
...
This allows expressions containing string lits to wrap their content
Fixes #1282
2017-01-27 08:04:52 +13:00
Nick Cameron
309fb37f23
Allow some unused fields
2017-01-27 07:42:34 +13:00
Nick Cameron
6747cd721c
Start factoring out an abstract Item
2017-01-27 07:37:09 +13:00
Nick Cameron
3d3b6784d1
Nits
2017-01-26 15:44:54 +13:00
Nick Cameron
2261947f6e
Catch attributes before comments
...
Closes #1280
Closes #1284
2017-01-26 15:10:47 +13:00
Ivan Ukhov
56e0c463d5
Process build scripts
2017-01-25 08:29:48 +01:00
Nick Cameron
e018712612
process cfg'ed off modules
...
Fixes #1229
Fixes #1277
2017-01-20 08:20:49 +13:00
Nick Cameron
6572874965
Update to latest Syntex
...
As a side-effect of the Path changes, we are now a bit more aggressive about normalising paths.
2017-01-20 08:20:49 +13:00
Nick Cameron
49e86a1e65
Handle semicolons in macro statements
...
Fixes #1279
2017-01-18 10:38:46 +13:00
Nick Cameron
0b1d78bae1
Try hard to format impl signatures
...
Fixes #1249
2017-01-17 13:08:36 +13:00
Nick Cameron
29e8913695
Fix bug in identifying comments
...
Fixes 1233
2017-01-17 12:01:10 +13:00
Nick Cameron
0218a41d73
Add a more lightweight method for rewriting comments when we are not normalising
...
Fixes #652
2017-01-17 10:17:48 +13:00
Nick Cameron
d948485371
Allow empty blocks on one line in more places
...
In particular if they contain only a single-line comment.
Fixes #493
2017-01-16 16:37:58 +13:00
Nick Cameron
846d7ad387
make rustfmt-normalize_comments false by default
2017-01-16 14:50:27 +13:00
Nick Cameron
5349336192
Refactor if/else formatting
...
Removes else_if_brace_style from config options. Use control_brace_style instead.
2017-01-11 18:14:41 +13:00
Nick Cameron
9be2971274
Refactor pairs/binops
2017-01-11 12:06:23 +13:00
sinkuu
7e2fcc27e1
Fix #1258 ( #1266 )
...
* Fix #1258
* Add test
2017-01-09 16:11:12 +13:00
Stepan Koltsov
ad46f9af95
Do not ignore space_before_bound in where clause ( #1267 )
2017-01-09 15:58:06 +13:00
Stepan Koltsov
1c22d85db5
Better message for LineOverflow error ( #1268 )
...
(with current length and configured limit)
2017-01-09 15:57:11 +13:00
Nick Cameron
21c085261b
Remove self
from use foo::bar::self;
...
Also adds the `normalize_imports` config option.
Fixes #1252
2017-01-06 17:02:56 +13:00
Nick Cameron
6ecf5b8e84
If a string goes over-width, give up formatting it
...
Logic here is that the original might be better and at best we'll only make it a different kind of bad.
Fixes #1237
2017-01-06 16:35:28 +13:00
Nick Cameron
32cb839855
Macros in types are possible
...
Fixes #1234
2017-01-06 16:06:09 +13:00
sinkuu
1358f1ac80
Fix #1259 ( #1263 )
...
* Use `Indent::block_indent` instead of adding `config.tab_spaces`
* Fix #1259 impl block closing brace placement
2017-01-04 09:20:02 +13:00
Erick Tryzelaar
e67ffcfb21
Update to the latest syntex module
...
One notable feature is this this adds support for the experimental
`let x = loop { ... break $expr; }` syntax. This also includes a
test for formatting all the break and continue variations.
2016-12-23 11:20:07 -08:00
Jason Dusek
22ddc36b17
Recognize "rlib" and "cdylib" crates ( #1238 )
...
Addresses #828 and https://github.com/lunaryorn/emacs-module.rs/issues/4 and probably numerous others.
2016-12-16 08:56:15 -10:00
Luke Clifton
56469a8745
Don't drop opening brace on long line matches. ( #1228 )
...
* Don't drop opening brace on long line matches.
Fixes #1225
* Added a test case for long match arms with braces on newline.
2016-11-28 13:47:38 +13:00
Luke Clifton
6bf1382927
Indent open brace for impl when nested. ( #1227 )
...
* Indent open brace for impl when nested.
Fixes #1226
* Added test case for indented impl with brace on newline
2016-11-28 13:47:07 +13:00
Wieland Hoffmann
2fc1a2d3cc
Prevent an ugly linebreak in --config-helps description of condense_wildcard_suffices
2016-11-27 21:43:02 +01:00
Nick Cameron
d3eba76e4d
update Serde, etc.
...
Lots of changes to how closures work
2016-11-21 11:02:18 +13:00
Bekh-Ivanov Aleksey
935286755c
Stripping trailing commas and spaces from vec!
elements ( #1219 )
...
* Stripping trailing commas and spaces from `vec!` elements
* Stripping trailing commas and spaces ONLY from `vec!` elements
* Added comment
2016-11-14 17:42:15 +13:00
Nick Cameron
49ce1b641a
Merge pull request #1221 from Zarokka/issue-1216
...
fix #1216 : panic on comment starting with //*
2016-11-14 09:46:47 +13:00
Martin Wohli
6c32c02952
fix #1216 : panic on comment starting with //*
2016-11-13 09:36:43 +01:00
Sébastien Santoro
0dffec8a5c
Improve config::WriteMode comments
...
- Fix typo
- Switch comments verbs to the the 3rd person to offer a better coherence among options
2016-11-12 03:59:43 +00:00
Marcus Klaas
5fc9fa3770
Condense suffix strings of simple wildcards in patterns
2016-11-07 21:38:20 +01:00
Nick Cameron
664f646979
Merge pull request #1207 from Fraser999/master
...
Fixes #1184 where reordering import items could cause a panic.
2016-11-07 11:32:03 +13:00
Fraser Hutchison
aef665aa21
Fixes a few doc typos.
2016-11-03 04:22:16 +00:00
Fraser Hutchison
f933d31115
Fixes #1184 where reordering import items could cause a panic.
...
Also extends an existing test to avoid regression.
2016-11-03 04:21:47 +00:00
Mason Smith
764100361e
cargo-fmt processes bench, test, example files
2016-11-02 02:28:06 -07:00
Nick Cameron
8494d5f89c
Merge pull request #1200 from efyang/strayspace
...
Remove extra whitespace after macro calls
2016-10-28 09:14:37 +13:00
Edward Yang
5ecdd072d6
Remove extra whitespace after macro calls
2016-10-27 02:40:08 -05:00
Edward Yang
1c83c76015
Stop extra newlines from being added after block comments ( #1185 )
2016-10-25 08:45:15 +13:00
Mikko Rantanen
4b1c669037
Add spaces_within_square_brackets config option. ( #1191 )
...
* Add spaces_within_square_brackets config option.
Enabling the config enforces spaces within various array/slice brackets.
* Fixed budget-calculations for [] spacing
2016-10-18 09:09:49 +13:00
Nick Cameron
23f01eddac
Merge pull request #1188 from Rantanen/master
...
Add support for spaces_within_angle_brackets
2016-10-14 11:38:39 +13:00
Josh Chase
903e30b503
Quick fix for "impl Trait"
...
* Remove "TODO" conversion
* Add a couple of simple test cases
Fix courtesy of @signaraiona
2016-10-13 12:30:16 -07:00
Mikko Rantanen
636a828772
Add support for spaces_within_angle_brackets
...
Enabling the config adds spaces within type arguments: <>
2016-10-13 19:28:18 +03:00
Mikko Rantanen
7be202fa3c
Add support for spaces_within_parens config ( #1187 )
...
* Add support for spaces_within_parens config
* Changes based on review comments
2016-10-13 14:34:08 +13:00
Philip Craig
c4a7a7108e
Preserve macro formatting if we can't rewrite it
2016-10-03 14:14:56 +10:00
Florian Gilcher
b8f7ec3dcc
Add custom comments ( #1179 )
...
* Add custom comments
This allows users to use custom comments such as
```
//@ this is a custom comment
//@ with multiple lines
```
without having them destroyed by rustfmt.
* Fix issues with empty lines
* Check non-whitespace right after custom comments
2016-09-30 08:34:46 +13:00
nokaa
8a9dfc5ede
Fix broken import
2016-09-27 12:38:17 -05:00
Nick Cameron
77ceba2bc0
Write to the supplied buffer if one is supplied to format_input
2016-09-27 17:25:54 +13:00
sinkuu
2dfa96bc9a
Fix #775
...
rewrite_tuple referring config.max_width where given width should be
used
2016-09-20 14:06:28 +09:00
Nick Cameron
3ff7e83457
Merge pull request #1156 from sinkuu/break_if_let
...
Prefer line break at `=`/`in`
2016-09-19 18:51:21 +12:00
sinkuu
114a3e287a
Fix self test
2016-09-19 11:48:56 +09:00
Nick Cameron
e1d7b8ea01
Merge pull request #1162 from sinkuu/fix1040
...
Fix #1040
2016-09-19 14:35:42 +12:00
Nick Cameron
fb8a1903cf
Merge pull request #1161 from sinkuu/fix550
...
Fix #550 : `if` nested in tuple is indented oddly
2016-09-19 08:49:38 +12:00
sinkuu
b6bffa6596
Prevent line breaking at =
or in
after trivial patterns
2016-09-17 13:03:14 +09:00
sinkuu
079f39d07f
Fix #550 : if
nested in tuple is indented oddly
2016-09-17 10:46:20 +09:00
est31
c6243c950e
Improve comment rewriting with normalize_comments == false
...
Only change multiline comments of the form
```rust
/*
* Text
*/
```
while not affecting comments of the form
```rust
/*
Text
*/
```
when normalize_comments is off. In the first case,
we have a known character we can align against, while
we don't have one in the second case.
Before, we have converted the second form into the first,
but this is against the spirit of normalize_comments being
turned off.
Fixes #956
2016-09-17 03:41:11 +02:00
est31
efd3e5c091
Add three new options for spaces
2016-09-17 02:22:13 +02:00
Nick Cameron
4418fab4f2
Update to latest Syntex
...
+ Cargo update
+ 0.6.2 release
2016-09-16 15:28:02 +12:00
sinkuu
b446e31739
Fix #1040
2016-09-10 13:08:32 +09:00
sinkuu
bf078566d7
Fix #1021 : Handle ..
in tuple / tuple struct patterns
2016-09-09 19:56:34 +09:00
dawirstejeck
a5d7073bf5
Split impl at 'for' if a line break is needed ( #1148 )
...
* Split impl at 'for' if a line break is needed
* Fix formatting
* Improve comments
* Skip second try if there is no 'for'
* Restore intentional trailing whitespace
* Change test source to be incorrectly formatted
* Restore more missing trailing whitespace
* Remove too much whitespace...
Really should learn how to use git revert.
2016-09-06 17:11:56 +12:00
sinkuu
a3c63fdef9
Run clippy
2016-08-29 08:57:27 +09:00
Nick Cameron
bce26d51bd
Merge pull request #1134 from sinkuu/issue977
...
Fix #977
2016-08-29 07:07:48 +12:00
sinkuu
130c593544
Fix #977
2016-08-28 16:40:03 +09:00
Kamal Marhubi
05882314f5
Check term supports colour before printing fancy diffs
...
For a terminal like DUMB, we were still attempting to print colourful
diffs, which failed with a `NotSupported` error.
Fixes #1140
2016-08-26 17:08:47 -04:00
Stuart Dootson
61042e6e4d
Fix issue 1124 - detect start of output rather than start of input file when writing output source file ( #1133 )
...
* Change required to prevent a trailing space at the end of a separate module being propagated
* Detect the start of the output file rather than the start of the input file when deciding whether to output preceding snippets - this stops unnecessary whitespace and blank lines from being inserted when spans and statements are output in an order other than that from the input file.
* Add code to prevent space from being added with the prefix snippet if a) the snippet is entirely horizontal whitespace, or b) the snippet contains whitespace followed by a newline. This prevents trailing spaces at the end of a line from being added.
* Tests for this issue
* Tidy up `match` statements
* Add test with blank lines between `use` statements
2016-08-25 08:32:04 +12:00
Nick Cameron
e1759ae295
Merge pull request #1123 from juicejitsu/807
...
Don't emit filename in diff mode, add filename to diff metadata
2016-08-10 21:52:46 +12:00
Stuart Dootson
4029b0e704
Fix #1120 - rework how the use list prefix is determined. ( #1121 )
...
* Fix #1120 - rework how the use list prefix is determined.
* Added test commentary & another test case
2016-08-10 18:13:27 +12:00
juicejitsu
a0de408198
Don't emit filename in diff mode, add filename to diff metadata
2016-08-09 18:21:04 -07:00
Nick Cameron
69f647b9f1
Merge pull request #1119 from HighCommander4/issue1109b
...
Apply space_before_type_annotation to struct ctors (#1109 )
2016-08-05 18:03:34 +12:00
Nathan Ridge
899169a1d2
Apply space_before_type_annotation to struct ctors ( #1109 )
2016-08-05 01:30:53 -04:00
Nick Cameron
f21808a65c
Merge pull request #1117 from pepyakin/issue-1116
...
Fix underflow in format_imports
2016-08-05 16:29:41 +12:00
Sergey Pepyakin
f6959a4772
Fix issue-1116
2016-08-04 08:54:40 +03:00
Nick Cameron
fe69e975e3
Merge pull request #1110 from HighCommander4/issue1109a
...
Add two new whitespace options (#1109 )
2016-08-04 10:58:32 +12:00
Nathan Ridge
4b999a99c0
Add two new whitespace options ( #1109 )
...
* An option to leave a space before the colon in a type annotation
* An option to leave a space before the colon in a trait or lifetime bound
2016-08-03 01:11:39 -04:00
Julien Blanchard
b4e49ddbf5
Fix imports with absolute paths
2016-08-01 10:10:04 +02:00
dawirstejeck
22de7ced28
Fix overlong function signature ( #1089 )
...
* Fix issue-1049
* Add testcase suggested by pepyakin
* Fix last commit
* Handle special case
* Remove debugging println
* Fix grammar in comment
* Change word in comment
* Add test for long func without ret type
* Add one more test
2016-08-01 16:25:00 +12:00
Daniel Campoverde
6380937b59
Multiple config file names feature ( #1101 )
...
* Add multiple configuration file names feature
* Add '.rustfmt.toml' in README file
* Clean up configuration file code
* Make config file names constant
* Use only one blank line
2016-08-01 09:32:35 +12:00
dawirstejeck
e76cb6a907
Fix overlong impl ( #1091 )
...
* Fix issue-1048
* Take possible where-clause into account
* Move test to existing test set
* Fix wrong variable name
2016-07-26 17:34:11 +12:00
Stuart Dootson
78b52ec3e1
Add use
declaration re-ordering ( #1104 )
...
* Add config options for combinations of lines and items
* Reordering of import lines implemented.
* Changed nested matches to tuple pattern matching
* Added ordering of path list items to the ordering of use declarations
* Move `format_imports` and `format_import` methods to `imports.rs`
* Add comment to explain how `use` declarations are split off while walking through a module
* Change `ImportReordering` config option to separate boolean options
2016-07-26 17:20:01 +12:00
Stuart Dootson
9750fb7fca
Canonicalize file paths within the map of file line ranges ( #1098 )
...
* Canonicalize file paths within the map of file line ranges
* Forgot to run the tests - and of course, the formatting of the canonicalization change was off, but it's fixed now!
* Move imports to the top of the file, as per @nrc.
* Change `canonicalize_path_string` to return `Option<String>`, `None` indicating an error rather than an empty string
* `format!` is better than string concatenation...
* Change `canonicalize_path_string` to return `Result` rather than `Option`
2016-07-19 09:05:01 +12:00
sinkuu
0dc3fc7a2c
Fix formatting empty block comments (/**/
)
...
issue #1086
2016-07-09 22:56:50 +09:00
Nick Cameron
ffa5a22d1c
Merge pull request #1084 from johannhof/rustfmt-not-found
...
Show more helpful error if rustfmt is not in PATH.
2016-07-04 21:30:52 +12:00
Johann Hofmann
033741246c
Show more helpful error if rustfmt is not in PATH.
...
This fixes #1071 .
2016-07-04 07:42:18 +02:00
Nick Cameron
ddda46d265
rustup
2016-07-04 15:46:58 +12:00
Johann Hofmann
8260d277c8
Return failure exit code on found diffs ( fix #906 )
...
This changes rustfmt to return exit code 4
when run with write mode diff and differences between
the formatted code and the original code are found.
Useful for CI to make sure your contributors actually ran rustfmt.
2016-06-21 23:01:15 +02:00
Nick Cameron
664bf3eae7
Merge pull request #1054 from sanxiyn/loop-width
...
Fix width computation in Loop::rewrite
2016-06-14 08:32:02 +02:00
Seo Sanghyeon
921b563847
Fix width computation in Loop::rewrite
2016-06-12 20:37:15 +09:00
Kamal Marhubi
5361f61110
Include git commit and worktree status in version output ( #1060 )
...
This will help in debugging issues as rustfmt gets more users.
If the working tree is clean, output looks like
$ target/debug/rustfmt -V
0.5.0 (9f5ed3b)
If the working tree is dirty, output looks like
$ target/debug/rustfmt -V
0.5.0 (9f5ed3b worktree dirty)
If git is unavailable, output looks like
$ target/debug/rustfmt -V
0.5.0 (git commit unavailable)
To avoid rebuilds on changing tests, the build script will only rerun if
files under src/ are changed. This means the actual git status may show
changed files and this would not show up in the version. This should not
be an issue as files not in src/ should not affect the build output.
2016-06-12 10:38:03 +02:00
Marcus Klaas
88fdf9a6e3
Fix integer underflow in extra_offset
2016-06-10 16:17:10 +02:00
Marcus Klaas
1b55aa9f10
Fix integer underflow
2016-06-10 15:19:06 +02:00
Jacob Clark
77edbb7def
Refactoring exsisting filter_maps to maps
2016-06-07 00:03:25 +01:00
Jacob Clark
2ea99869a7
Refactor string collects to itertools join
2016-06-06 22:30:40 +01:00
Marcus Klaas
b3488c6186
Fix constraints on pattern formatting of else arms
2016-06-03 23:18:19 +02:00
Nick Cameron
0087306761
Merge pull request #1016 from rust-lang-nursery/try-double-indent
...
Treat chains with just expr? specially.
2016-06-01 12:28:36 +01:00
lqd
b6263735b1
Add support for the default
keyword ( #1025 )
...
Adds support for Defaultness on impl methods.
Fixes #945
2016-05-31 19:48:49 +02:00
Kamal Marhubi
9759068e62
print_diff: Don't print color codes if output is not a tty
...
On unix, `term::stdout()` just reads the `TERM` environment variable to
decide what features are available. It does not check if the output file
descriptor is in fact a tty. This resulted in printing escape codes when
redirecting output.
2016-05-31 15:15:33 +02:00
Kamal Marhubi
66483017f6
Explain that FileLines cannot be given in rustfmt.toml
...
This adds a note to both the `--config-help` output for `file_lines`,
and to the panic message on attempting to deserialize a `FileLines`
struct.
2016-05-31 01:35:18 +02:00
Kamal Marhubi
8775fe4172
codemap: Add module description
2016-05-31 01:34:42 +02:00
Kamal Marhubi
a83f1a197e
Add copyright notices to added files
2016-05-31 01:34:07 +02:00
Kamal Marhubi
bef5d095a4
rustfmt: Add option to specify line ranges for formatting
...
This commit adds the `--experimental-file-lines` option to rustfmt. This
allows specifying line ranges to format from the command line.
Refs #434
2016-05-31 01:33:58 +02:00
Kamal Marhubi
9fa5a91fc5
visitor: Handle specified line ranges in visit_stmt
...
This commit adds a very rough implementation of handling the specified
line ranges in `config.file_lines_map` for statements. It reformats a
statement if its span is fully contained in the set of lines specified
for the file.
The implementation here is intended as a proof of concept, and
demonstration that the machinery added in the preceding commits is
functional. A final implementation would likely hook in via the
`Rewrite` trait.
Refs #434
2016-05-31 01:33:11 +02:00
Kamal Marhubi
c311b30cac
Add type to represent collection of lines in files
...
This commit adds a type to represent lines in files, and adds it to the
`Config` struct. It will be used for restricting formatting to specific
lines.
Refs #434
2016-05-31 01:24:38 +02:00
Kamal Marhubi
ed27b4799a
codemap: Add utilities for looking up line ranges of spans
...
This commit adds extension methods to `Codemap` to allow looking up line
ranges for spans.
Refs #434
2016-05-31 00:49:31 +02:00
Kamal Marhubi
bd10af127e
utils: Move codemap related utilities to a dedicated module
...
This commit adds a `codemap` module, and moves the `CodemapSpanUtils`
added in #857 to it. This is preparation for adding more `Codemap`
specific utilities.
Refs #434
2016-05-31 00:49:26 +02:00
Kamal Marhubi
80c56a01ff
visitor: Add debug log for FmtVisitor::visit_stmt()
2016-05-31 00:43:48 +02:00
Kamal Marhubi
7f0d87cc51
Derive Debug for the Input enum
2016-05-31 00:43:48 +02:00
Nick Cameron
5436977bd5
Merge pull request #1017 from marcusklaas/tweak-if-else
...
Format non-statement if-else expressions on a single line
2016-05-31 01:57:29 +12:00
Kamal Marhubi
120e1a0b51
deps: Update syntex_syntax to 0.33
...
This bump brings syntex_syntax support for `..` in tuple and tuple
struct patterns, which come from RFC 1492:
https://github.com/rust-lang/rfcs/blob/master/text/1492-dotdot-in-patterns.md
These new patterns are not properly handled in this PR; instead #1021
tracks supporting them.
Refs #1021
2016-05-30 14:53:04 +02:00
Marcus Klaas
98c0570a28
Format non-statement if-else expressions on a single line
2016-05-29 17:58:38 +02:00
Nick Cameron
bbb6038b92
Treat chains with just expr? specially.
...
Fixes #1004
2016-05-29 09:32:48 +01:00
Kamal Marhubi
66cac1f3e9
Handle pub(restricted) ( #1013 )
...
* Handle pub(restricted)
This commit properly handles pub(restricted) as introduced in RFC 1422
[0]. The syntax support was added in #971 , but they were not correctly
formatted.
[0] https://github.com/rust-lang/rfcs/blob/master/text/1422-pub-restricted.md
Fixes #970
* Drop #[inline] attribute on format_visibility
* Make newly non-failing functions return String
The change to `format_visibiilty` means that `format_header` and
`format_unit_struct` can no longer fail. Their return type is updated to
reflect that.
2016-05-28 00:58:25 +02:00
Nick Cameron
6e01fac285
Merge pull request #1008 from rust-lang-nursery/hrtb
...
Don't ignore universal quantification in function types
2016-05-28 10:08:00 +12:00
Nick Cameron
0fae34dfa1
Don't ignore universal quantification in function types
...
Fixes #1006
2016-05-27 15:09:04 -07:00
Nick Cameron
d633e831ba
Merge pull request #1009 from rust-lang-nursery/fn-args-1
...
Fix off by 2 error in function sigs
2016-05-28 10:04:04 +12:00
Nick Cameron
882ef8cc82
Fix off by 2 error in function sigs
...
Fixes #1000
This is a little conservative in some cases, but better than being wrong in others.
2016-05-27 15:05:15 -07:00
Nick Cameron
d6bcfceb7e
Don't put a newline before ?
when it is the second sub-expression in a chain ( #1012 )
...
Fixes #1003
2016-05-27 10:33:19 +02:00
Nick Cameron
775de8a62b
Optionally put short struct variants on one line ( #997 )
...
Closes #418
2016-05-18 22:38:49 +02:00
Nick Cameron
9589cac62d
Format inline attributes on out-of-line modules ( #996 )
...
Fixes #838
2016-05-18 22:36:59 +02:00
Nick Cameron
78f8b6c2e3
Merge branch 'master' of github.com:rust-lang-nursery/rustfmt
2016-05-18 10:02:04 +12:00