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
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
topecongiro
d7d9850c42
Do not inspect code for issues or todos when not required
2018-02-19 12:52:40 +09:00
topecongiro
80bf3da17d
Use debug_assert_eq! to avoid comparing PathBuf on release
...
Comparing `PathBuf` adds noticeable overhead, avoid it in release build.
2018-02-19 12:52:40 +09:00
topecongiro
15c7e1c52a
Replace lookup_char_pos with lookup_line
...
`lookup_char_pos` wastes time on fetching unused information. We only need a
`FileMap` and line numbers, so `lookup_line` is enough.
2018-02-19 12:52:40 +09:00
Nick Cameron
383e7e9955
Merge pull request #2465 from karyon/fix_2346
...
Fix #2346 : empty comments should not have any trailing space added
2018-02-19 11:45:49 +13:00
Nick Cameron
25f2dffc1c
Merge pull request #2461 from topecongiro/reorder-mod
...
Refactoring: add `reorder` modules
2018-02-19 09:13:52 +13:00
Nick Cameron
cbf524f9e9
Merge pull request #2464 from topecongiro/beginning-vert
...
Format a match arm with the beginning vertical bar
2018-02-19 08:45:21 +13:00
Johannes Linke
8e36d54202
Fix #2346 : empty comments should not have any trailing space added
2018-02-18 12:50:10 +01:00
topecongiro
ea3c01e337
Format a match arm with the beginning vertical bar
2018-02-18 10:31:11 +09:00
Seiichi Uchida
263104a365
Merge pull request #2463 from Razican/typo_fix
...
Fixed small typo in configuration help
2018-02-18 09:35:30 +09:00
Razican
4ca3592006
Fixed small typo in configuration help
2018-02-17 21:00:26 +01:00
Seiichi Uchida
c32eb1fe34
Add TODO
2018-02-18 03:00:59 +09:00
Seiichi Uchida
333e3e1247
Get rid of macro
2018-02-18 02:59:54 +09:00
Seiichi Uchida
a915916f24
Rename fns
2018-02-18 02:06:29 +09:00
topecongiro
e992c09e1f
Get rid of format_imports
2018-02-18 01:38:31 +09:00
topecongiro
8427b80f57
Move reorder-related stuffs in visitor mod to reorder mod
2018-02-18 01:38:31 +09:00