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
95ef9dedb4
Escape quotes in string literals
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
749a9689be
Break chains that don't start with path expressions
2015-09-11 00:52:57 +02:00
Marcus Klaas
659c9b9037
Update indentation heuristics for single arg functions
2015-09-11 00:52:20 +02:00
Marcus Klaas
c680bb4030
Implement basic chain formatting
2015-09-11 00:52:16 +02:00
Sinh Pham
e7a5f9327e
Add diff write mode https://github.com/nrc/rustfmt/issues/261
2015-09-10 18:30:07 -04: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
0413c47a09
Support different tabbing of function args
...
(Although, frankly anything other than visual is deeply wrong).
2015-09-01 17:22:00 +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
Marcus Klaas
adeafb3e45
Refactor diff handling in tests
...
This splits the generation and display of mismatches. Mismatches now include a few lines of context. Finally, diffs are now coloured.
2015-08-30 22:31:26 +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
Simon Bernier St-Pierre
9ead47151e
Add project-specific configuration file support
2015-08-25 19:05:30 -04: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
10a80bb8be
Add an option to forgo backups
2015-08-19 21:31:27 +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
Marcus Klaas
d7b49fd76c
Remove global mutable config to allow for concurrency
2015-06-23 13:26:04 +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
Marcus Klaas
d335d04575
Implement checks for unnumbered TODOs and FIXMEs
2015-06-12 20:58:23 +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
Marcus Klaas
90bc40a111
Implement basic enum formatting
2015-06-02 15:52:07 +02:00
Gaëtan Cassiers
7a6b4db819
Handle tuples of length 1
2015-05-30 16:52:46 +02:00
Gaëtan Cassiers
38f421b764
fix : width available
2015-05-30 16:44:07 +02:00
Gaëtan Cassiers
092d6be368
Implement reformat of tuple litterals
2015-05-28 21:30:28 +02:00
Gaëtan Cassiers
673b8d5f22
add test for const fn
2015-05-25 13:27:19 +02:00
Nick Cameron
46818d405a
Struct literals
2015-05-25 19:14:20 +12:00
Nick Cameron
e7adf64155
Format structs
2015-05-25 17:07:55 +12:00
Gaëtan Cassiers
09bd4a74e4
Avoid dangling )
2015-05-24 23:46:02 +02:00
Gaëtan Cassiers
1db6fa0fe5
Add idem test for paren
2015-05-24 22:08:35 +02:00
Nick Cameron
1a09a6d00a
Use config file for constants
2015-05-23 17:53:53 +12:00
defyrlt
837dadd5aa
Added regression test for #53 .
2015-05-17 14:35:11 +03:00
Nick Cameron
5286663fe2
Merge pull request #67 from marcusklaas/test-diff
...
Show diffs for failing tests
2015-05-13 13:03:11 +12:00
Marcus Klaas
4aa3518703
Format required methods on traits
2015-05-12 02:37:05 +02:00
Marcus Klaas
4ecde410c4
Show diffs for failing tests
2015-05-12 02:19:14 +02:00
Nick Cameron
541ccbe700
Merge pull request #61 from oli-obk/master
...
a panic->Result conversion approach to idem test
2015-05-12 10:31:51 +12:00
Oliver Schneider
ee338d934e
don't create a thread just for panic-isolation
2015-05-05 16:56:29 +02:00
Marcus Klaas
c790d7d550
Keep import lists on a single line when possible
2015-05-04 22:22:31 +02:00
Oliver Schneider
a14dcdf0c2
addressed comments
2015-05-04 11:04:34 +02:00
Oliver Schneider
07637aed41
rustfmt dislikes tabs and some newlines
2015-05-04 10:09:41 +02:00
Marcus Klaas
58a14fbc79
Correctly indent use items and functions
2015-05-04 09:25:20 +02:00
Oliver Schneider
b546dfcf83
forgot newline at eof
...
rustfmt found it
2015-05-02 17:09:33 +02:00
Oliver Schneider
968344fba1
pass single filename instead of full argument list to idem_check
2015-05-02 16:56:46 +02:00
Oliver Schneider
a50337a118
first step to a non-panicking idem_check function
2015-05-02 16:50:33 +02:00
Oliver Schneider
62e583d4cf
split main function and test function into their own files
...
small modifications to make executable and test compile properly
2015-05-01 22:28:58 +02:00
Nick Cameron
2b73dcd662
Merge pull request #57 from defyrlt/issue_56
...
`mut` was eaten out of `mut self` in fn args.
2015-05-01 23:16:54 +12:00
defyrlt
81c9db3275
Resolved #56 -- mut
was eaten out of mut self
in fn args.
2015-05-01 14:14:04 +03:00
Theodore DeRego
4f75227714
Spaces around in type bounds
2015-04-30 16:52:11 -10:00
Manish Goregaokar
9398aed82c
Handle pub use ( fixes #23 )
2015-04-30 13:52:28 +05:30
Nick Cameron
2d5226b825
Use + for type bounds
2015-04-29 16:44:29 +12:00
Nick Cameron
f61ad35494
Preserve linebreaks in doc comments
2015-04-29 16:25:52 +12:00
Nick Cameron
2e485ea086
Better attribute handling
2015-04-29 15:03:15 +12:00
Nick Cameron
decafbbaea
Fix trailing commas in where clauses
2015-04-29 09:55:24 +12:00
Nick Cameron
81b8eb7993
Comments on their own lines between args
2015-04-28 21:57:16 +12:00
Nick Cameron
a84287c6b0
Comments in function decls and annotations/doc comments
2015-04-28 20:56:01 +12:00
Nick Cameron
c00970f5e9
Indenting for modules
...
rustfmt now bootstraps!
2015-04-23 18:43:46 +12:00
Nick Cameron
daff43f761
Arg/line length bug
2015-04-23 18:35:56 +12:00
Nick Cameron
f737f763a4
Test the skip attribute
2015-04-23 16:25:48 +12:00
Nick Cameron
d5466f38ac
Our first test!
2015-04-23 16:23:20 +12:00