Eli Friedman
e720218ffb
Improve handling of commas after match arms.
...
Fixes #507 . Fixes #508 .
2015-10-21 14:35:45 -07:00
Eli Friedman
be9e7dc689
Don't use visit::walk_*
. Instead, recurse by hand.
...
This is much more straightforward to understand given how rustfmt
rewriting works, and it avoids walking into expressions in unexpected
places.
Fixes #513 . Fixes #514 .
2015-10-21 13:46:13 -07:00
Tim Kuehn
6b4ef7457a
Fix doc comment regression and add tests.
2015-10-20 02:13:14 -07:00
Marcus Klaas
e8447a8210
Fix large block comments
2015-10-19 23:06:36 +02:00
Marcus Klaas
11756d2ef8
Refactor enum formatting
2015-10-19 21:28:05 +02:00
Marcus Klaas de Vries
754925e132
Merge pull request #484 from marcusklaas/patternz
...
Format some patterns
2015-10-19 20:20:29 +02:00
Marcus Klaas
ca023ba9b7
Format some patterns
2015-10-19 20:15:36 +02:00
Marcus Klaas
7e0456b852
Format visibility for statics and consts
2015-10-19 20:08:03 +02:00
Marcus Klaas de Vries
8a9bbd9d7c
Merge pull request #487 from marcusklaas/konsts-n-statix
...
Format constants and static variables
2015-10-18 23:03:01 +02:00
Marcus Klaas
8e2a910021
Fix indentation for function arguments
2015-10-18 22:22:41 +02:00
Marcus Klaas
1a7d39041e
Format constants and static variables
2015-10-18 21:36:26 +02:00
Nick Cameron
d326a29b4b
Merge pull request #479 from marcusklaas/moar-types
...
Format more type variants
2015-10-18 15:40:11 +13:00
Marcus Klaas
01937061a9
Format more type variants
2015-10-17 16:05:59 +02:00
Marcus Klaas
5407202fdf
Properly indent pub fns in extern blocks
2015-10-16 23:05:11 +02:00
Marcus Klaas de Vries
dfa8ae4048
Merge pull request #464 from marcusklaas/semicolonz
...
Force semicolons after break/continue/return. Remove after blocks.
2015-10-15 21:03:38 +02:00
Marcus Klaas
b039e3a8c3
Force semicolons after break/continue/return. Remove after blocks.
2015-10-15 19:55:42 +02:00
Marcus Klaas
dba08bf898
Indent uncontinued chains to block level
2015-10-14 19:41:29 +02:00
Gaurav Saxena
af00f3ffe6
added semicolons to break statements
2015-10-13 02:17:51 -04:00
Marcus Klaas
e6af5d2c83
Use visual block indentation for array literals
2015-10-12 21:14:12 +02:00
Marcus Klaas
b768d27f03
Format variadic arguments
2015-10-11 20:57:44 +02:00
Nick Cameron
aed558fce4
Handle multi-line return types and multi-line tuples
...
Closes #409
2015-10-10 14:55:31 +13:00
Sinh Pham
f075fd01ab
Fix https://github.com/nrc/rustfmt/issues/430
2015-10-08 22:49:16 -07:00
Nick Cameron
3ca8d3677a
Merge pull request #429 from marcusklaas/method-calls2
...
Try "overflowing" the final function argument when it's a closure
2015-10-09 12:27:37 +13:00
Marcus Klaas
ccd404ac6f
Try "overflowing" the final function argument when it's a closure
...
This means that we try formatting the last argument of a function call with block
indentation instead of visual indentation when it is a closure and its first line
fits on the same line as the first arguments.
2015-10-08 23:40:33 +02:00
mwiczer
5162282b60
Support pre- and post-comments for enums
...
Use lists to format enum variants rather than special formatting.
Add tests for enums mostly around block comments.
2015-10-08 17:22:57 -04:00
Marcus Klaas de Vries
7ea589d7b4
Merge pull request #403 from marcusklaas/casts
...
Format casts, indices and repeated elements
2015-10-05 19:26:14 +02:00
sezna
2f7acf00e5
Added punctuation preference
...
Create test.rs
Delete test.rs
Fixed compile error.
Trying a possible fix on an arithmetic overflow
another try at the test failure...
passed all tests.
Added tests and cleaned up logic as per nrc's critiques
Delete string.rs.old
Delete string.rs.bk
Made changes as per nrc's requests.
Update string_punctuation.rs
Update string_punctuation.rs
fixed logical redundancy
2015-10-02 08:37:21 -05:00
Marcus Klaas
ca0b860688
Format repeated element array literals
2015-10-02 12:00:28 +02:00
Marcus Klaas
ad2e3b8e2b
Format indices
2015-10-02 11:47:03 +02:00
Marcus Klaas
603f2034a5
Format type casts
2015-10-02 11:31:40 +02:00
Marcus Klaas
30aefa6dc7
Prevent arithmetic overflow handling match arm comments
2015-09-27 22:11:17 +02:00
Marcus Klaas de Vries
afee62e476
Merge pull request #370 from marcusklaas/match-arm-delining
...
Improve heuristics for match arm body placement
2015-09-27 12:00:57 +02:00
Marcus Klaas
2eb67827a7
Add extra tests for match arm placement
2015-09-27 11:58:26 +02:00
Nick Cameron
dad4626517
Merge pull request #368 from nrc/struct-wide
...
Use a width heuristic for struct lits
2015-09-27 10:50:50 +13:00
Marcus Klaas
078fff068a
Improve heuristics for match arm body placement
2015-09-26 22:35:53 +02:00
Nick Cameron
e4c15b4e1c
Fix tests
2015-09-26 18:35:17 +12:00
Nick Cameron
3a9e4f0540
add test
2015-09-26 18:27:51 +12:00
Nick Cameron
b2e7da0aa0
Format imports with aliases.
...
Closes #366
2015-09-26 18:12:25 +12:00
Nick Cameron
e161de0daa
Merge pull request #352 from nrc/ty_parens_fix
...
Formatting of some types
2015-09-26 13:50:00 +12:00
Nick Cameron
92fbb80097
Formatting of some types
...
Closes #341
2015-09-26 13:48:02 +12:00
Marcus Klaas
5db17ca703
Use the maximum available width in struct formatting
...
Previously, we'd use an approximation for the maximum width since the configuration wasn't available in `write_list`.
2015-09-25 16:56:22 +02:00
Eli Friedman
19e887c309
Add support for formatting AddrOf (unary "&").
2015-09-24 01:13:57 -07:00
Nick Cameron
d941fe20b4
Merge pull request #358 from eefriedman/rewrite-return
...
Add support for formatting "return" expressions.
2015-09-24 18:19:37 +12:00
Eli Friedman
69da1a78de
Add support for formatting "return" expressions.
...
Fixes #303 .
2015-09-23 23:12:04 -07:00
Scyptnex
f1dfab5a29
fix for #355 and test cases
2015-09-24 12:01:48 +10:00
Scyptnex
19d1ec1dec
Fixes #339 and #272
2015-09-24 10:22:06 +10:00
Nick Cameron
5e18b03bb9
Merge pull request #345 from Manishearth/fix-match
...
Handle comments in match better (fixes #344 )
2015-09-22 17:00:18 +12:00
Manish Goregaokar
106f7251fb
Add tests, reformat expr
2015-09-22 09:35:50 +05:30
Marcus Klaas
71faa8984d
Format foreign functions and statics
2015-09-21 20:02:45 +02:00
Marcus Klaas de Vries
fa67e0359a
Merge pull request #334 from marcusklaas/sparse-mods
...
Place the closing brace of an inline mod on a new line
2015-09-21 19:42:36 +02:00
Marcus Klaas
5ee6304d8d
Fix struct overflows
2015-09-20 18:45:25 +02:00
Sebastian Ullrich
9bd502ad54
Fix negative overflow and missing '..' on struct lit base exprs
2015-09-20 15:47:21 +02:00
Marcus Klaas
f8e74bfa2c
Place the closing brace of an inline mod on a new line
2015-09-20 14:22:12 +02:00
Pavel Sountsov
05c8c28935
Add some tests for hard tab mode.
2015-09-19 10:36:46 -07:00
Marcus Klaas
ad7af22278
Add regression test for non-returning functions
2015-09-17 21:35:56 +02:00
Marcus Klaas
f751356910
Format macro invocations
2015-09-16 20:26:14 +02:00
Nick Cameron
4738d284f2
Merge pull request #309 from marcusklaas/array-literals
...
Format array literals
2015-09-13 09:20:37 +12:00
Marcus Klaas
ffa7e8d599
Prevent generation of bogus comment in some function calls
...
This would happen when the callee contained parentheses.
2015-09-12 14:31:51 +02:00
Marcus Klaas
7deee6daf5
Format array literals
2015-09-12 00:06:17 +02:00
Nick Cameron
764793b2e6
Merge pull request #307 from marcusklaas/function-arg-ty
...
Rewrite types in function arguments
2015-09-12 10:01:53 +12:00
Marcus Klaas
436f8663e3
Add regression test for bad continue span
2015-09-11 23:32:13 +02:00
Marcus Klaas
623d6c972a
Rewrite types in function arguments
2015-09-11 12:32:34 +02:00
Marcus Klaas
7f576b0602
General cleanup after rebase
2015-09-11 00:53:21 +02:00
Marcus Klaas
03c660633f
Refine chain breaking heuristics
...
Don't make a single line chain when it is was multi line in the source; allow overflow of the last chain element onto the next lines without breaking the chain.
2015-09-11 00:53:01 +02:00
Marcus Klaas
8e471ece31
Add some tests for match blocks
2015-09-11 00:53:01 +02:00
Marcus Klaas
abe8e7de99
Add tests for chain expressions
2015-09-11 00:53:01 +02:00
Marcus Klaas
582aa4f2fe
Format closures' return types
2015-09-08 20:56:33 +02:00
Nick Cameron
db79a5aec5
Merge pull request #260 from cburgdorf/struct_lit_force_multiline
...
Implements struct_lit_force_multiline
2015-09-08 17:01:28 +12:00
Christoph Burgdorf
33c5776d30
Implements struct_lit_force_multiline
...
With struct_lit_force_multiline set to true
rustfmt won't ever mangle multiple struct properties
into one line.
Fixes #253
2015-09-08 01:25:44 +02:00
Marcus Klaas de Vries
156263a3c4
Merge pull request #251 from marcusklaas/rewrite-list
...
Add failure mode to `write_list`
2015-09-07 22:23:33 +02:00
Marcus Klaas
d05a41c773
Add failure mode to write_list
2015-09-07 20:35:25 +02:00
Sinh Pham
94a26f3c9c
Fix https://github.com/nrc/rustfmt/issues/278
2015-09-07 00:30:46 -04:00
Marcus Klaas
c3cb348169
Fix qself rewrites without explicit casts
2015-09-06 23:18:27 +02:00
Marcus Klaas de Vries
072c54beba
Merge pull request #265 from nrc/unsafe_one_line
...
Single line unsafe blocks
2015-09-06 22:44:06 +02:00
Nick Cameron
8750399ef4
Merge pull request #248 from sinhpham/unicode_string_lit
...
Unicode string lit
2015-09-07 08:01:06 +12:00
Nick Cameron
e0c197cab4
Single line unsafe blocks
2015-09-07 07:31:02 +12:00
Marcus Klaas
ba0e0e6ac1
Add regression test for trait reference formatting
2015-09-04 13:58:56 +02:00
Nick Cameron
17302f8967
Merge pull request #246 from nrc/bugs2
...
Format <foo + 'bar> nicely
2015-09-04 17:07:34 +12:00
Nick Cameron
fb9e051fd8
Format <foo + 'bar> nicely
2015-09-04 17:04:54 +12:00
Sinh Pham
61f642f6f8
Support unicode in string literals.
2015-09-03 23:41:25 -04:00
Marcus Klaas
336759d592
Add regression test for bad break span
2015-09-03 20:15:24 +02:00
Nick Cameron
183dac91a3
Fix a bug where struct lits nested in fn calls were over-indented
2015-09-02 15:36:17 +12:00
Nick Cameron
97e92b35cc
Preserve some whitespace between struct fields etc.
2015-09-02 14:11:19 +12:00
Nick Cameron
fae93abbda
Support struct-like layouts for fn args
2015-09-02 09:41:08 +12:00
Nick Cameron
f81485d9d6
Rename fn_args_layout to fn_args_density
2015-09-02 08:56:37 +12:00
Nick Cameron
6ca2756a82
Merge pull request #238 from nrc/fn-decl
...
Customisation of function decls
2015-09-02 08:00:28 +12:00
Nick Cameron
8d81aa1991
Support where clauses on the same line as the function decl where it all fits on one line.
2015-09-02 07:59:54 +12:00
Marcus Klaas
1ae2d417b8
Remove faulty shortcut in rewrite_string_lit
...
Rustfmt would leave the literal unchanged when it did not exceed the column limit in its original position, not considering its position after formatting.
2015-09-01 20:42:07 +02:00
Nick Cameron
6216dce14e
Support where clause predicates at different indentations
2015-09-01 19:04:41 +12:00
Nick Cameron
02a01350ff
Support where predicates on the same line
2015-09-01 18:53:16 +12:00
Nick Cameron
6f3c329500
Support non-indented where clauses
2015-09-01 18:38:12 +12:00
Nick Cameron
fc2fb8be43
Support different indent styles for generics
2015-09-01 18:20:17 +12:00
Nick Cameron
89cda8d43a
Option to pack fn args on fewer lines
2015-09-01 17:06:41 +12:00
Marcus Klaas
a896d91ff6
Fix offset for unary operations
...
Fixes https://github.com/nrc/rustfmt/issues/227 .
2015-08-31 19:15:40 +02:00
Gaëtan Cassiers
7a828e2043
Add unittest for #115
2015-08-28 22:59:36 +02:00
Sinh Pham
145a90da05
Fix #201
2015-08-28 06:44:13 -04:00
Gaëtan Cassiers
5e445697ce
Implement Rewrite for [ast::Attribute]
2015-08-27 22:29:07 +02:00
Marcus Klaas
d92dd3d915
Prevent nested if-else from being put on a single line.
...
This is done using a pretty terribad hack, introducing an extra function parameter and some code duplication. Unfortunately, there seem to be few alternatives.
2015-08-25 22:52:33 +02:00
Marcus Klaas
b7a71250f4
Implement single line if-else formatting
2015-08-25 22:09:46 +02:00
Marcus Klaas
120fd2426e
Format assignment
2015-08-25 21:43:13 +02:00
Gaëtan Cassiers
76ea7e3b64
Fix #190 for submodules
2015-08-24 22:01:01 +02:00
Nick Cameron
8319e33573
Merge pull request #198 from marcusklaas/parameterized-paths-matter
...
Fix bug in path formatting
2015-08-23 19:52:39 +12:00
Léo Stefanesco
8b78568388
Add test for raw strings
2015-08-22 21:20:31 +02:00
Marcus Klaas
150c333e6c
Fix bug in path formatting
2015-08-21 16:28:32 +02:00
Marcus Klaas
c8fd23ca68
Refactor closure formatting routine
2015-08-20 23:05:41 +02:00
Marcus Klaas
a75017e50e
Add additional tests for closures
2015-08-20 22:08:51 +02:00
Marcus Klaas
5fcd313b08
Format closures
2015-08-19 23:15:56 +02:00
Nick Cameron
81f2e449d7
Handle span error with continue
...
This should be properly addressed by #184 , but requires a change to the rustc parser, so this patch just works around the issue.
2015-08-20 08:11:14 +12:00
Nick Cameron
d10629d8a5
Allow {}
to remain.
2015-08-20 08:08:11 +12:00
Marcus Klaas
8e22a73cb7
Add option to override single configuration lines for tests
2015-08-19 21:51:03 +02:00
Marcus Klaas
41bca58100
Format paths
2015-08-16 22:53:06 +02:00
Gaëtan Cassiers
0e10329dc7
Separate modules and files listing of reformatting
...
As suggested in #141
Closes #156
2015-08-02 13:07:27 +02:00
Marcus Klaas
0f640b06dd
Properly format unsafe blocks
2015-08-02 12:40:02 +02:00
Nick Cameron
ed889e01db
Merge pull request #144 from marcusklaas/single-use
...
Format simple imports
2015-07-26 09:38:07 +12:00
Gaëtan Cassiers
efda914ab9
Add regression tests for binOps
2015-07-25 23:28:31 +02:00
Marcus Klaas
397d0d3d72
Format simple imports
2015-07-25 23:17:56 +02:00
Gaëtan Cassiers
ff301efa4e
Fix width computation in rewrite_binary_op
...
Operator width was counted twice.
2015-07-25 18:58:16 +02:00
Nick Cameron
8461e8a0a8
Merge pull request #147 from marcusklaas/even-more-expr
...
Format if expressions & loops
2015-07-25 09:51:59 +12:00
Nick Cameron
4aa24f5962
Merge pull request #158 from marcusklaas/modules
...
Use new module code from libsyntax
2015-07-25 09:48:58 +12:00
Marcus Klaas
3aa03dcc25
Use new module code from libsyntax
2015-07-24 19:25:01 +02:00
Marcus Klaas
c4101de53d
Refactor some things; add extra tests.
2015-07-24 19:00:14 +02:00
Marcus Klaas
d7fe47d858
Preserve box syntax
2015-07-23 23:08:41 +02:00
Marcus Klaas
2fa6220f57
Format all the loops!
2015-07-19 23:43:32 +02:00
Marcus Klaas
2fda8dd883
Format if-let-else expressions
2015-07-19 23:43:03 +02:00
Marcus Klaas
b161815fe0
Format if-else expressions
2015-07-19 23:42:54 +02:00
Marcus Klaas
e47e91013e
Format while loops, including labels
2015-07-18 12:25:41 +02:00
Nick Cameron
a32b0e7627
Fix some bugs
2015-07-16 14:05:10 +12:00
Nick Cameron
7518f68861
Add an option to format struct lits with either block or visual indent
2015-07-16 14:05:05 +12:00
Marcus Klaas
b473c2bd2a
Format loops
2015-07-15 23:33:01 +02:00
Gaëtan Cassiers
3de366d282
Format modules into separate files
2015-07-03 11:12:21 +02:00
Gaëtan Cassiers
163fbf62ee
Fix bugs in width computation
2015-07-03 02:55:43 +02:00
Marcus Klaas
2d4b4b856a
Format expressions with binary and unary operators
2015-07-02 22:44:55 +02:00
Marcus Klaas
482f200b0b
Update import list formatting
...
Include comments and sort items alphabetically.
2015-06-26 03:43:12 +02:00
Marcus Klaas
28f7bd4205
Fixup comment wrapping in lists
2015-06-24 21:14:08 +02:00
Marcus Klaas
0ef5db9496
Format tuple-like structs
2015-06-23 16:54:42 +02:00
Marcus Klaas
963eafe94a
Add tests for string literal formatting
2015-06-15 21:37:27 +02:00
Nick Cameron
caa10d408b
Add a terrible, but useful, test which I used locally
...
It does too much, it should be split up
2015-06-11 14:36:31 +12:00
Marcus Klaas
98c9c6e9ef
implement framework for system tests
2015-06-05 17:50:22 +02:00