Commit graph

306 commits

Author SHA1 Message Date
Pavel Sountsov
01bdcd0014 Remove unnecessary config parameter from format_missing_with_indent. 2015-09-19 10:44:28 -07:00
Pavel Sountsov
620650219e Use the block_indent inside visit_expr.
This seems to pass all the tests and greatly improves the formatting output
when using hard tabs.
2015-09-19 10:36:46 -07:00
Pavel Sountsov
03e1b27826 Add Indent::none(), remove make_indent. 2015-09-19 10:36:45 -07:00
Pavel Sountsov
d4108a3029 Initial implementation of hard tab indentation. 2015-09-19 10:36:45 -07:00
Sebastian Ullrich
3da7adbc3f rustc update: Remove variant visibility
https://github.com/rust-lang/rust/pull/28440
2015-09-19 17:46:25 +02:00
Marcus Klaas
e72d488281 Refactor test code
No longer use callbacks or thread::catch_panic; reduce stdout spew; guard against rustfmt breaking the column limit.
2015-09-18 22:34:46 +02:00
Marcus Klaas
110f7206e6 Split formatting function from side effects
This makes rustfmt more usable as a library.
2015-09-18 22:31:33 +02:00
cassiersg
9c5dc29416 Merge pull request #314 from alobb/configDocumentation
Fixed https://github.com/nrc/rustfmt/issues/291
2015-09-17 23:13:25 +02:00
Marcus Klaas
f751356910 Format macro invocations 2015-09-16 20:26:14 +02:00
Aaron Lobb
07f7926bc2 Added help string for chains_overflow_last config parameter 2015-09-15 21:15:46 -07:00
Nick Cameron
e4cca21a10 Preserve unsafe blocks in closures
Fixes #321
2015-09-15 17:47:18 +12:00
Nick Cameron
a29023a191 Remove a few unnecessary rustfmt_skips 2015-09-15 11:46:27 +12:00
Aaron Lobb
d773580715 Changed ConfigType trait to only return a string of variants, rather than a vec 2015-09-14 13:43:55 -07:00
Aaron Lobb
cd9e9b5db0 Merged config imports 2015-09-14 13:06:09 -07:00
Aaron Lobb
8b808de6ff Fixed https://github.com/nrc/rustfmt/issues/291; added output to --help runtime option with possible config values 2015-09-14 00:29:15 -07: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
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
749a9689be Break chains that don't start with path expressions 2015-09-11 00:52:57 +02:00
Marcus Klaas
a53be86710 address mini offset bug in rewrite_match 2015-09-11 00:52:20 +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
Sinh Pham
e47646b44b Small style fixes. 2015-09-09 07:56:56 -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
f80dcbbd84 Split off binary search 2015-09-07 22:21:56 +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
490821ef30 Work with spanned labels in break and continue 2015-09-05 14:00:16 +02:00
Nick Cameron
c838b00d54 Merge pull request #257 from cburgdorf/partial_config
Allow partial rustfmt.toml
2015-09-05 10:11:50 +12:00
Christoph Burgdorf
14a94f0bcd Allow partial rustfmt.toml
With this change one can use a config file
that only specifies a subset of config keys
to overwrite. E.g. a config file that looks like this

struct_trailing_comma = "Never"
struct_lit_trailing_comma = "Never"

Fixes #255
2015-09-05 00:09:26 +02:00
Nick Cameron
398416be45 Merge pull request #252 from cburgdorf/improve_help
fix outdated help text
2015-09-05 09:54:11 +12:00
Andre Bogus
d6c652e33c code improvements suggested by clippy 2015-09-04 23:39:33 +02:00
Christoph Burgdorf
56183ce0e9 fix outdated help text 2015-09-04 21:28:37 +02: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
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
Marcus Klaas de Vries
81c8c020a8 Merge pull request #239 from sinhpham/format_strings_option
Format strings option https://github.com/nrc/rustfmt/issues/202
2015-09-01 20:34:22 +02:00
Marcus Klaas
85ddf35385 Rustup
Fix breakage caused by rust commit 2076cdd.
2015-09-01 20:28:38 +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
Nick Cameron
4b3262f514 Add a test module to comments 2015-09-01 15:39:37 +12:00
Marcus Klaas
0f4bf9b3ba Fix some potential arithmetic underflow issues
There have been many of this sort already. These were just bugs waiting to happen.
2015-08-31 19:30:00 +02: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
Josh Matthews
6cf74956b3 Avoid an integer underflow panic. Fixes #229. 2015-08-30 23:15:14 -04:00
cassiersg
b59ab9c13f Merge pull request #214 from crumblingstatue/clean_exit
Only exit after running all destructors and flushing stdout
2015-08-29 10:36:50 +02:00
Mika Attila
1f974fca01 Simplify match expression 2015-08-28 23:51:26 +02:00
cassiersg
2bb521a06a Merge pull request #207 from cassiersg/find-comments
Add a generic tool for searching comments in code
2015-08-28 14:34:25 +02:00
Gaëtan Cassiers
e5ea13da6e Add a generic tool for searching comments in code
This make a base for all functions searching for comments, or searching
code excluding comments, etc. These functions where too simple and
didn't handle complicated cases like nested comments or comment marks
inside string litterals ("/*").
2015-08-28 14:32:02 +02:00
Mika Attila
ce25165450 Don't pass --write-mode argument to rustc
Fixes regression introduced by
660f41865b
2015-08-28 13:12:27 +02:00
Sinh Pham
145a90da05 Fix #201 2015-08-28 06:44:13 -04:00
Mika Attila
660f41865b Only exit after running all destructors and flushing stdout 2015-08-28 10:39:58 +02:00
Gaëtan Cassiers
5e445697ce Implement Rewrite for [ast::Attribute] 2015-08-27 22:29:07 +02:00
Alex HotShot Newman
39538a0c77 Fix usage of the tool. Provide -h and --help 2015-08-26 15:07:01 -07:00
Simon Bernier St-Pierre
99b0aa95f2 Delete src/default.toml file 2015-08-26 14:03:11 -04:00
Simon Bernier St-Pierre
9ead47151e Add project-specific configuration file support 2015-08-25 19:05:30 -04:00
Simon Bernier St-Pierre
6adb6a1d1a Fix build on nightly
https://github.com/rust-lang/rust/pull/27857
2015-08-25 17:37:48 -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
Ivan Apachev
c7e6d0b54a Replace uses of x.len() == 0 by x.is_empty() #187 2015-08-25 01:07:48 +03: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
5047091f08 Don't format raw strings 2015-08-21 19:13:46 +02:00
Marcus Klaas
150c333e6c Fix bug in path formatting 2015-08-21 16:28:32 +02:00
Marcus Klaas
e0ae162ae1 Reduce code duplication for block indentation helpers 2015-08-21 12:57:17 +02:00
Marcus Klaas
c8fd23ca68 Refactor closure formatting routine 2015-08-20 23:05:41 +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
df0fd0e119 reformatting/rebasing 2015-08-20 08:11:14 +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