topecongiro
f310b924ea
Format lazy_static! macro
...
Some macros like `lazy_static!` cannot be parsed as a valid AST. Therefore, we
need to parse them manually to be able to format them. Obviously this method
will not scale, we will never be able to cover every macro in the entire
ecosystem. That being said, I think it will not hurt to be able to format macros
that are popular (such as `lazy_static!`) as long as rustfmt will not produce
broken code when the macro has syntax that is not expected.
2018-02-24 01:05:19 +09:00
topecongiro
ebfc3af92a
Update a test for lazy_static!
2018-02-24 01:04:54 +09:00
topecongiro
72e26a12bc
Add a test for formatting lazy_static!
2018-02-24 01:04:36 +09:00
topecongiro
75cf0be87b
Add a test for #2479
2018-02-23 23:18:54 +09:00
topecongiro
0d8636f229
Allow meta item's value to exceed max width
2018-02-23 23:15:29 +09:00
topecongiro
b17c522650
Add doc comment to rewrite_first_group_attrs
2018-02-23 22:58:46 +09:00
topecongiro
eea5dcac46
Add a test for #2414
...
Closes #2414 .
2018-02-23 22:53:16 +09:00
topecongiro
391ed68ad4
Move type punctuation tests under config dir
2018-02-23 22:53:16 +09:00
topecongiro
e2e653bc8f
Remove unused tests
2018-02-23 22:53:16 +09:00
topecongiro
94188f5a28
Remove unused tests
2018-02-23 22:53:16 +09:00
topecongiro
871a18ac13
Mention that doc.rs is a part of multiple.rs
2018-02-23 22:53:16 +09:00
topecongiro
128925dcb4
Use visual indent style in where-clause.rs
2018-02-23 22:53:16 +09:00
topecongiro
758c54e9d5
Update big-impl tests
...
big-impl.rs and big-impl-rfc.rs is identical. One of them should use visual
indent style, and their file name should reflect that.
2018-02-23 22:53:16 +09:00
topecongiro
ecfb9c9526
Move items-related stuffs to item mod from visitor mod
...
Move `rewrite_extern_crate`, is_mod_decl`, `is_use_item` and `is_extern_crate`.
2018-02-23 22:37:10 +09:00
topecongiro
a8852fd787
Move filter_inline_attrs() to attr mod from visitor mod
2018-02-23 22:32:39 +09:00
topecongiro
529fed0c34
Add attr module
2018-02-23 22:30:05 +09:00
topecongiro
34f6408ea2
Update Configurations.md
2018-02-23 21:55:16 +09:00
topecongiro
5f49587a2c
Update configuration tests
...
This commit adds following functionalities to `configuration_snippet_tests`:
1. Error if there is an unknown configuration option in Configuration.md.
2. Error if there are multiple guides for the same configuration option in
Configuration.md.
3. Error if an user-facing configuration option does not have its guide in
Configuration.md.
We will be able to catch outdated Configuration.md. Should prevent issues
like #2459 .
2018-02-23 21:54:59 +09:00
Nick Cameron
cc2c7433e2
Merge pull request #2480 from topecongiro/issue-2476
...
Avoid drifting macro body which is unformattable
2018-02-23 13:39:56 +13:00
topecongiro
8531d70c77
Cargo clippy
2018-02-23 09:07:35 +09:00
topecongiro
9cdac82d42
Cargo fmt and update a test
2018-02-23 08:14:22 +09:00
topecongiro
5ccc23f920
Call wrap_str to make sure that the formatting macro body worked
2018-02-23 08:13:57 +09:00
topecongiro
cb0097f7d8
Use multiple lines for function calls with 0 arg which exceeds max width
...
e.g.
foo(
)
2018-02-23 08:12:48 +09:00
topecongiro
c5a8878f7e
Continue formatting function calls even if it does not fit in a single line
...
We may be able to format it using multiple lines.
2018-02-23 08:11:10 +09:00
topecongiro
093633ecb7
Update tests for #2438 and #2476
2018-02-23 08:10:17 +09:00
topecongiro
f09480432d
Remove macros.rs
2018-02-23 08:08:12 +09:00
Nick Cameron
de2d53dfa1
Merge pull request #2478 from csmoe/explict-version-info
...
Explict version info
2018-02-21 20:41:20 +13:00
csmoe
e87c2caea3
Merge branch 'explict-version-info' of https://github.com/csmoe/rustfmt into explict-version-info
2018-02-21 13:15:04 +08:00
csmoe
f82e935b96
option_env and commit_info
2018-02-21 13:13:39 +08:00
csmoe
c1fa46759c
option_env
2018-02-21 11:42:29 +08:00
Nick Cameron
33e47dc17f
Merge pull request #2477 from davidalber/unignore-configuration-snippet-tests
...
Removing ignore attribute
2018-02-21 16:29:45 +13:00
David Alber
f11e76989b
Removing ignore attribute
2018-02-20 18:48:07 -08:00
Nick Cameron
b060f6473e
Merge pull request #2471 from topecongiro/issue-2470
...
Return the original snippet if the attribute contains invalid syntax
2018-02-21 11:53:23 +13:00
Nick Cameron
42af13245f
Merge pull request #2472 from davidalber/fix-reorder-extern-crates-in-group-examples
...
Update `reorder_extern_crates*` Configuration.md snippets
2018-02-21 11:52:46 +13:00
David Alber
7739cf8f46
Modifying reorder_extern_crates
example to show effect on groups
2018-02-19 22:32:44 -08:00
David Alber
00cab7e74c
Fixing the documentation for reorder_extern_crates_in_group
2018-02-19 22:32:44 -08:00
Seiichi Uchida
6c1e1dd720
Merge pull request #2469 from davidalber/fix-struct-lit-single-line-config-snippet
...
Using shorter example for `struct_lit_single_line` option
2018-02-20 14:53:28 +09:00
topecongiro
b4c85d1bcb
Return the original snippet if the attribute contains invalid syntax
...
This allows us to keep formatting the macro def with attributes that become
invalid syntax when the `$` is replaced with `z`, e.g. `#[doc = $expr]`.
2018-02-20 14:48:46 +09:00
csmoe
ef05a2d2f1
explict version informations
2018-02-19 17:17:27 +08:00
David Alber
73b13e0abe
Using shorter example for struct_lit_single_line
option
2018-02-18 23:17:36 -08:00
Nick Cameron
be79f5e433
Merge pull request #2468 from topecongiro/perf
...
Apply optimization suggested by perf
2018-02-19 18:42:47 +13:00
Nick Cameron
377bb5c97f
Merge pull request #2467 from topecongiro/issue-2466
...
Skip formatting macro_rules! that are not using {}
2018-02-19 18:37:59 +13:00
topecongiro
37f82a0c95
Skip formatting macro_rules! that are not using {}
2018-02-19 14:08:33 +09:00
topecongiro
36e8eb6893
Use push-approach over format! in rewrite_segment
2018-02-19 12:55:12 +09:00
topecongiro
57f182cd10
Clean up
2018-02-19 12:55:12 +09:00
topecongiro
125e7124e7
Use Indent::to_string_with_newline to avoid unnecessary allocation
2018-02-19 12:55:12 +09:00
topecongiro
9d47e7370e
Use SnippetProvider to implement SpanUtils over CodeMap
...
`SnippetProvider::span_to_snippet` avoids allocating a `String` so it is more
efficient than `CodeMap::span_to_snippet`.
2018-02-19 12:55:12 +09:00
topecongiro
f0519c8001
Avoid running lookup_line_range when file_lines are not specified
2018-02-19 12:52:40 +09:00
topecongiro
bd813251f1
Avoid allocating small strings in combine_strs_with_missing_comments
2018-02-19 12:52:40 +09:00
topecongiro
61c6c591e4
Avoid using pretty printer if possible
...
Setting a pretty printer adds noticeable overhead.
We can replace the usage in `ast:Lifetime::rewrite` by simply converting `Ident`
to string.
We can do the same thing for a macro path as long as it is not nested, which
should hold for most cases.
2018-02-19 12:52:40 +09:00