topecongiro
2e00c117e5
Handle empty tuple struct def properly
2017-05-02 10:21:39 +09:00
Seiichi Uchida
19599b9a01
Use block when arm exceeds max_width
2017-05-02 10:15:31 +09:00
Vincent Esche
42dbe482e3
Made type_punctuation_density
apply too all +
in types
2017-05-02 01:03:46 +02:00
Nick Cameron
e809dcbf3b
Merge pull request #1491 from regexident/where_density
...
Add todo on equal output for `where_density = Tall` or `Vertical`
2017-05-02 10:50:32 +12:00
Nick Cameron
7fb288f0b3
Merge pull request #1487 from topecongiro/issue1470
...
Use block indent when visual indent exceeds max_width
2017-05-02 10:45:23 +12:00
Nick Cameron
c546f1b396
Merge pull request #1454 from topecongiro/match
...
Format nested mathces properly.
2017-05-02 10:40:31 +12:00
Nick Cameron
2223b64f86
Merge pull request #1486 from topecongiro/refactoring
...
Refactor source codes
2017-05-02 10:30:11 +12:00
Vincent Esche
5ae74cab8f
Add todo on equal output for where_density = Tall
or Vertical
2017-05-01 22:01:19 +02:00
Nick Cameron
c6f1dd4fb5
Remove generics_style option
2017-05-02 07:56:46 +12:00
Seiichi Uchida
c7e9bcadaa
Use block indent when visual indent exceeds max_width
2017-05-01 18:52:43 +09:00
topecongiro
9dc643a6ae
Remove TODO from 'format_tuple_struct'
2017-05-01 15:57:08 +09:00
topecongiro
68c5915176
Remove TODO from 'rewrite_generics'
2017-05-01 15:57:08 +09:00
topecongiro
883db2f952
Refactor Shape
2017-05-01 15:57:08 +09:00
topecongiro
af3f4c7f29
Remove duplicates
2017-05-01 15:57:02 +09:00
topecongiro
3d2cd681ae
Use 'first_line_width'
2017-05-01 15:36:40 +09:00
Nick Cameron
7a2577322d
Merge pull request #1473 from topecongiro/bug/no-such-file-or-directory
...
Prevent panicking against directories or non-existent files
2017-05-01 16:38:43 +12:00
Nick Cameron
5d9a35050d
Remove where_indent option
2017-05-01 16:05:38 +12:00
Nick Cameron
fba5af2a7d
Merge pull request #1469 from topecongiro/bug/chains
...
Remove a bug when calculating the length of the chain
2017-05-01 15:48:53 +12:00
Nick Cameron
a8fbfdb4a3
Merge pull request #1459 from shioju/master
...
Show exit codes' meanings with the rustfmt help message
2017-05-01 15:15:30 +12:00
Nick Cameron
29e1a3329f
Merge pull request #1457 from diaevd/master
...
format_lines: fix line_len for config.max_width
2017-05-01 15:13:19 +12:00
Nick Cameron
6a19c93f2a
Merge pull request #1461 from DarkEld3r/1447-line-length-in-chars
...
Fix line length calculation (should be in chars, not bytes)
2017-05-01 13:15:28 +12:00
Seiichi Uchida
4cec3ab71d
Prevent panicking against directories or non-existent files
2017-04-26 17:29:56 +09:00
topecongiro
02cf515be6
Format source codes
2017-04-24 16:50:11 +09:00
topecongiro
cbd33e1983
Remove '+ 1' when counting the length of chains
2017-04-24 16:48:05 +09:00
Stanislav Tkach
b53aeebbcf
Fix line length calculation (should be in chars, not bytes)
2017-04-19 17:49:03 +03:00
Sheng Hau
0653b8413e
Show exit codes' meanings with the rustfmt help message
2017-04-19 00:25:48 +08:00
Evgeny Duzhakov
bb7b002b23
format_lines: fix line_len for config.max_width
2017-04-18 14:31:53 +03:00
topecongiro
02c9ac93be
Prohibit long return val from 'rewrite_closure_block'
2017-04-17 23:17:17 +09:00
topecongiro
0614e94d0d
Format source codes
2017-04-15 18:42:45 +09:00
topecongiro
a91fd699a0
Add heuristic choosing block or visual indent for unary op based on span
2017-04-15 18:40:39 +09:00
topecongiro
8dc53d3750
Check the length of the first line of the last method in the chain
2017-04-15 16:23:38 +09:00
topecongiro
1c1ad525f6
Format source codes
2017-04-15 16:22:54 +09:00
topecongiro
8a5038c8f5
Use offset instead of indent for match arm
2017-04-15 16:22:26 +09:00
Jay Lee
c5f07eda41
fix path check
2017-04-10 05:25:12 +08:00
Nick Cameron
bdcb8d663e
Merge pull request #1438 from topecongiro/poor-formatting/method-chains
...
Lookup the last element of 'subexpr_list' instead of the first one
2017-04-06 21:26:13 +12:00
Nick Cameron
ee9daade35
Fix a bug with overlong function calls
2017-04-06 21:17:22 +12:00
Nick Cameron
f4952d3780
Implement a max array width
...
Fixes #1421
2017-04-06 13:01:19 +12:00
topecongiro
8d22e85e48
Lookup the last element of 'subexpr_list' instead of the first one
...
Closes #1217 , #1236 , #1389 and #1434 .
2017-04-06 09:26:25 +09:00
Nick Cameron
b3a4ba570e
Merge pull request #1432 from topecongiro/parse-config
...
Print error and usage when decoding config file failed
2017-04-06 11:30:33 +12:00
Ryan1729
eb25ac5e11
eliminate nested match
2017-04-04 00:01:33 -06:00
Ryan1729
4c4f70957b
fix bug by adding boolean argument
...
Signed-off-by: Ryan1729 <Ryan1729@gmail.com>
2017-04-03 17:39:14 -06:00
topecongiro
6af0968511
Change return type of 'from_toml' from 'Config' to 'Result<Config>'
...
Closes #1426 .
2017-04-03 13:58:46 +09:00
Nick Cameron
f63815ee95
Merge pull request #1435 from iliekturtles/line-length
...
Do not count `\r` as part of line width.
2017-04-03 08:40:22 +12:00
Nick Cameron
20395c5c55
Merge pull request #1430 from fintelia/stdin_lines
...
The --file_lines argument now supports "stdin"
2017-04-03 08:27:35 +12:00
Mike Boutin
a0efdf2de9
Do not count \r
as part of line width.
...
Resolves #1335 . Does not attempt to handle a `\r` not followed by a `\n` nor
attempt to handle Unicode intricacies (#6 ) including zero-width or multi-byte
characters.
2017-04-02 11:09:29 -04:00
Jonathan Behrens
6241469a69
Warn about extra files listed in file_lines argument
2017-03-31 13:34:53 -04:00
topecongiro
34b90d8716
Check existence of pre comment explicitly
...
This commit fixes #1428 .
2017-03-31 21:57:29 +09:00
Jonathan Behrens
56da223dc2
--file_lines argument now supports "stdin"
2017-03-30 19:35:58 -04:00
Nick Cameron
3edc184221
Merge pull request #1413 from Emilgardis/master
...
Implemented support for workspaces
2017-03-31 08:43:40 +13:00
Nick Cameron
4f226eb909
Merge pull request #1424 from topecongiro/long-struct
...
Split long fields in structs
2017-03-31 08:42:40 +13:00
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