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
e4cca21a10
Preserve unsafe blocks in closures
...
Fixes #321
2015-09-15 17:47:18 +12:00
Nick Cameron
99ffb5af99
Add a test for dodgy spans around >>
...
Closes #242
2015-09-15 11:43:44 +12: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
48d17f54d3
Rebase onto master
2015-09-11 00:53:01 +02:00
Marcus Klaas
a9814149c9
Align dots in chained expressions
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
659c9b9037
Update indentation heuristics for single arg functions
2015-09-11 00:52:20 +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
ce4d5aa39c
Fix a bug with alignment in one-line match arms
2015-09-02 14:45:56 +12:00
Nick Cameron
a5f8b37eeb
Format match expressions properly when they appear on an overflowing line.
2015-09-02 14:29:47 +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
Sinh Pham
55fe34a00f
Format strings option https://github.com/nrc/rustfmt/issues/202
2015-09-01 08:14:52 -04: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
cassiersg
cf046b734c
Merge pull request #200 from sinhpham/master
...
Fix https://github.com/nrc/rustfmt/issues/190
2015-08-24 19:06:02 +02:00
Sinh Pham
49cae9c485
Fix https://github.com/nrc/rustfmt/issues/190
2015-08-23 08:37:43 -04: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
43ad7ad7a0
Re-jig binop formatting
...
and misc other fixes from the reviews.
2015-08-20 08:18:02 +12: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
ae1eec81af
Rewrite match expressions (continued).
2015-08-20 08:11:14 +12:00
Nick Cameron
d10629d8a5
Allow {}
to remain.
2015-08-20 08:08:11 +12:00
Nick Cameron
dc2544712c
Rewrite match expressions
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
Marcus Klaas
82b27fc4ab
Correctly format typed self in function arguments
2015-08-14 11:56:27 +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
30b16bc474
Move 'use' to Rewrite
...
Implements Rewrite for ViewPath
Behavior change: always use max_width instead of ideal_width for use
list rewrite. I think it looks better, was also suggested by @nrc in
https://github.com/nrc/rustfmt/issues/82#issuecomment-105314265
2015-07-25 19:00:38 +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
d13fc2289a
Fix underflow bug in rewrite_call
...
Fixes https://github.com/nrc/rustfmt/issues/148 .
Now properly propagates the rewrite failure instead of panicking. Added regression test from servo code. This example will be properly rewritten when https://github.com/nrc/rustfmt/issues/17 is addressed.
2015-07-22 23:43:24 +02:00
Marcus Klaas
500fb78a33
Format unnamed function arguments
2015-07-20 20:07:54 +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
Nick Cameron
e4a6f96d70
Merge pull request #128 from marcusklaas/subexpr
...
Format loops
2015-07-16 10:08:36 +12:00
Marcus Klaas
b473c2bd2a
Format loops
2015-07-15 23:33:01 +02:00
Gaëtan Cassiers
b93b64381f
Fix bug in rewrite_tup_lit
...
Wasn't using all width available when the lenght is more than 1.
2015-07-15 00:38:54 +02:00
Gaëtan Cassiers
3de366d282
Format modules into separate files
2015-07-03 11:12:21 +02:00
Gaëtan Cassiers
83290f15ad
Add comma after struct-like enum variant
...
This is mandatory.
2015-07-03 10:30:42 +02:00
Gaëtan Cassiers
fc4483748c
Fix fn decl rewriting in case of generics
...
An opening paren in generics caused a false-positive detection of args
beginning. The result was the creation of comments with some code into
it.
2015-07-03 10:30:42 +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
9f3ab0b5fe
Format comments in struct literals
2015-06-24 01:11:29 +02:00
Marcus Klaas
0ef5db9496
Format tuple-like structs
2015-06-23 16:54:42 +02:00
Nick Cameron
b74cdb7b53
Merge pull request #109 from marcusklaas/fix-string-lit
...
Fix off-by-one errors in rewrite_string_lit
2015-06-16 09:59:24 +12:00
Marcus Klaas
963eafe94a
Add tests for string literal formatting
2015-06-15 21:37:27 +02:00
Marcus Klaas
b17c920e46
Deal with problematic characters in comments
2015-06-15 15:07:47 +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
Chris Hellmuth
5e3c2640ec
Add idempotent regression test for pub struct fields
2015-06-10 15:18:16 -06:00
Marcus Klaas
25301230f2
Add regression test for UFCS formatting error
2015-06-08 18:34:53 +02:00
Marcus Klaas
34b2721010
Fixup tests
2015-06-08 18:22:55 +02:00
Marcus Klaas
98c9c6e9ef
implement framework for system tests
2015-06-05 17:50:22 +02:00