Commit Graph

252 Commits

Author SHA1 Message Date
Marcus Klaas de Vries b6120b39ab Merge pull request #571 from nrc/semi
Don't strip semi-colons from expressions with non-void type since it …
2015-11-10 08:43:29 +01:00
Marcus Klaas de Vries e0e24c4e76 Merge pull request #573 from nrc/doom_panic
Format tuple structs better
2015-11-09 20:17:50 +01:00
Nick Cameron b7d61254a7 Option to disable line breaking in comments
Set to false by default for now, since we are having a lot of problems with comments. We should set to true once we have a better algorithm.
2015-11-10 08:03:01 +13:00
Nick Cameron bcda2824a2 Format tuple structs better
closes #546
2015-11-09 19:00:04 +13:00
Nick Cameron 3dc0b804f1 Don't strip semi-colons from expressions with non-void type since it can change semantics 2015-11-09 13:23:19 +13:00
Florian Zeitz 2aa35f0f6d Honor "enum_trailing_comma" option. Fixes #556 2015-11-03 23:57:31 +01:00
Eli Friedman 1c235de97d Fix crash speculatively parsing macro arguments as expressions.
The problem is essentially that if we try to parse a token tree using a
CodeMap different from the one the tree was originally parsed with,
spans become nonsense. Since CodeMaps can't be cloned, we're basically
forced to use the original ParseSess for additional parsing.

Ideally, rustfmt would be a bit more clever and figure out how to parse
macro arguments based on the definition of the macro itself, rather than
just guessing that a particular token sequence looks like an expression,
but this is good enough for now.

Fixes #538.
2015-10-27 23:41:32 -07:00
Marcus Klaas d122ad5adc Address some issues with multiline patterns in let statements 2015-10-24 13:13:15 +02:00
Ravi Shankar 7f7d763175 tests for coverage mode 2015-10-24 15:22:45 +05:30
Ravi Shankar d135217db2 show rustfmt coverage! 2015-10-24 15:22:37 +05:30
Nick Cameron efa5df39a5 Merge pull request #530 from marcusklaas/match-inner-block
Bump match inner block indent a level
2015-10-24 11:22:50 +13:00
Nick Cameron 0c1360a77c Merge pull request #529 from marcusklaas/pattern-indent
Fix indentation for enum-style patterns
2015-10-24 11:15:01 +13:00
Nick Cameron 45bcf59bde Merge pull request #528 from marcusklaas/chain-idempotence
Restore idempotence for chain formatting
2015-10-24 11:14:24 +13:00
Alex Crichton 4121b503e9 Add test for a macro not containing an exprssion 2015-10-23 13:46:14 -07:00
Alex Crichton 579fb34417 Remove dependence on rustc/rustc_driver, use syntex
Instead just parse manually with the `syntex_syntax` crate which is a clone of
libsyntax on crates.io which builds on stable Rust.
2015-10-23 13:46:14 -07:00
Marcus Klaas b41965539a Bump match inner block indent a level 2015-10-23 21:39:26 +02:00
Marcus Klaas ae5d7e6ba4 Fix indentation for enum-style patterns 2015-10-23 20:44:46 +02:00
Marcus Klaas 0bb979bb85 Restore idempotence for chain formatting 2015-10-23 20:37:45 +02:00
Marcus Klaas de Vries 7e76fad1f5 Merge pull request #485 from marcusklaas/floaters2
Deal with floaters
2015-10-22 22:33:24 +02:00
Marcus Klaas 2d267b16d1 Deal with floating links in chains 2015-10-22 22:30:01 +02:00
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
Nick Cameron d7019ce897 Merge pull request #474 from marcusklaas/fn-indent
Properly indent pub fns in extern blocks
2015-10-18 15:19:32 +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 a9bd695723 Format vec! macro using brackets 2015-10-16 22:55:42 +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
Marcus Klaas de Vries e7a6795509 Merge pull request #420 from mwiczer/Issue270
Fix https://github.com/nrc/rustfmt/issues/270
2015-10-08 23:38:04 +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
Nick Cameron 6600cd341a Format inner and outer attributes separately.
Actually just skips inner attributes, because its a pain to track them, and lets missed spans handle them.

Closes #413
2015-10-08 17:20:19 +13:00
Bryce Van Dyk 8be1d1926e Fix path issue with tests on Windows
The code that manipulates paths to try and find files in the target dir
was not handling windows file seperators correctly. The code has been
updated to use the path module, and hopefully will play nicer across
operating systems.
2015-10-08 01:10:07 +13:00