aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #8807bors[bot]2021-05-113-27/+19
|\ | | | | | | | | | | | | | | | | | | 8807: internal: Move `dot` invocation to rust-analyzer crate r=jonas-schievink a=jonas-schievink Addresses https://github.com/rust-analyzer/rust-analyzer/pull/8801#discussion_r630570615 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Move `dot` invocation to rust-analyzer crateJonas Schievink2021-05-113-27/+19
|/
* Merge #8805bors[bot]2021-05-111-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8805: fix: Use Cargo target name as crate name r=jonas-schievink a=jonas-schievink Before: ![screenshot-2021-05-11-23:35:09](https://user-images.githubusercontent.com/1786438/117887823-92654d00-b2b1-11eb-8f3d-0e45f6886a79.png) After: ![screenshot-2021-05-11-23:35:01](https://user-images.githubusercontent.com/1786438/117887836-985b2e00-b2b1-11eb-898a-5f463c4515f6.png) bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Use Cargo target name as crate nameJonas Schievink2021-05-111-1/+4
|/
* Merge #8398bors[bot]2021-05-116-12/+71
|\ | | | | | | | | | | | | | | 8398: Fix inference with conditionally compiled tails r=flodiebold a=DJMcNab Fixes #8378 Co-authored-by: Daniel McNab <[email protected]>
| * Add a test for conditionally compiled tailsDaniel McNab2021-05-031-0/+49
| |
| * Fix inference with conditionally compiled tailsDaniel McNab2021-05-035-12/+22
| | | | | | | | Fixes #8378
* | Merge #8801bors[bot]2021-05-1112-1/+166
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8801: feat: Allow viewing the crate graph in a webview r=jonas-schievink a=jonas-schievink This uses `dot` to render the crate graph as an SVD file, and displays it in a VS Code panel. For simple crate graphs, it works quite well: ![screenshot-2021-05-11-16:19:32](https://user-images.githubusercontent.com/1786438/117831361-c4a48980-b274-11eb-9276-240cdf6919aa.png) Unfortunately, on rust-analyzer itself (and most medium-sized dependency graphs), `dot` runs for around a minute and then produces this mess: ![screenshot-2021-05-11-16:41:37](https://user-images.githubusercontent.com/1786438/117834831-c754ae00-b277-11eb-850b-138495dbeba8.png) Co-authored-by: Jonas Schievink <[email protected]>
| * | Better node label/shapesJonas Schievink2021-05-111-3/+11
| | |
| * | Only include workspace cratesJonas Schievink2021-05-111-8/+30
| | |
| * | Document viewCrateGraph requestJonas Schievink2021-05-111-1/+11
| | |
| * | Update crates/ide/src/view_crate_graph.rsJonas Schievink2021-05-111-2/+2
| | | | | | | | | Co-authored-by: bjorn3 <[email protected]>
| * | Distinguish crates with identical nameJonas Schievink2021-05-111-1/+1
| | |
| * | Allow viewing the crate graph in a webviewJonas Schievink2021-05-1111-0/+125
| | |
* | | Merge #8796bors[bot]2021-05-118-175/+205
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8796: internal: rewrite `#[derive]` removal to be based on AST (take 2) r=jonas-schievink a=jonas-schievink Second attempt of https://github.com/rust-analyzer/rust-analyzer/pull/8443, this uses syntactical attribute offsets in `hir_expand`, and changes `attr.rs` to make those easy to derive. This will make it easy to add similar attribute removal for attribute macros, unblocking them. Co-authored-by: Jonas Schievink <[email protected]>
| * | Rewrite `#[derive]` removal to be based on ASTJonas Schievink2021-05-104-107/+112
| | |
| * | Rewrite `attr.rs` to allow using syntax-based indicesJonas Schievink2021-05-102-59/+84
| | |
| * | Move `AttrId` back into `hir_def`Jonas Schievink2021-05-105-12/+12
| | |
* | | Merge #8800bors[bot]2021-05-111-16/+34
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8800: feat: Make "pull assignments up" assist work in more cases r=Jesse-Bakker a=Jesse-Bakker Fixes #8771 Co-authored-by: Jesse Bakker <[email protected]>
| * | | Make "pull assignments up" assist work in more casesJesse Bakker2021-05-111-16/+34
| | | |
* | | | Merge #8798bors[bot]2021-05-111-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8798: internal: use modern resolever r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | internal: use modern resoleverAleksey Kladov2021-05-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | I don't think this affects us, but better to stick to modern practicies.
* | | | | Merge #8794bors[bot]2021-05-109-67/+77
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8794: Give MergeBehaviour variants better names r=Veykril a=Veykril I never really liked the variant names I gave this enum from the beginning and then I found out about rustfmt's `imports_granularity` config: > imports_granularity > > How imports should be grouped into use statements. Imports will be merged or split to the configured level of granularity. > > Default value: Preserve > Possible values: Preserve, Crate, Module, Item > Stable: No I personally prefer using `crate` over `full` and `module` over last, they seem more descriptive. Keeping these similar between tooling also seems like a good plus point to me. We might even wanna take over the entire enum at some point if we have a `format/cleanup imports` assists in the future which would probably want to also have the `preserve` and `item` options. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Update docsLukas Wirth2021-05-102-3/+3
| | | | |
| * | | | Give MergeBehaviour variants better namesLukas Wirth2021-05-108-66/+76
| | |/ / | |/| |
* | | | Merge #8793bors[bot]2021-05-101-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 8793: Corrected 2 typos on line 83 r=Veykril a=mixio Co-authored-by: mixio <[email protected]>
| * | | Corrected 2 typos on line 83mixio2021-05-101-1/+1
|/ / /
* | | Merge #8791bors[bot]2021-05-101-0/+115
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8791: feat: auto-indent use tree lists r=jonas-schievink a=jonas-schievink ![Peek 2021-05-10 15-20](https://user-images.githubusercontent.com/1786438/117665627-53e16c80-b1a3-11eb-8906-1b88b394367b.gif) bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | feat: auto-indent use tree listsJonas Schievink2021-05-101-0/+115
|/ / /
* | | Merge #8790bors[bot]2021-05-101-1/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8790: fix: fix manual rendering r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | fix: fix manual renderingAleksey Kladov2021-05-101-1/+0
| | | | | | | | | | | | | | | | We add `// see the other repo` comments before headers (==). This one isn't a header, but a closing of the example block.
* | | | Merge #8789bors[bot]2021-05-102-12/+12
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 8789: simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | simplifyAleksey Kladov2021-05-102-12/+12
|/ / /
* | | Merge #8784bors[bot]2021-05-091-19/+131
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8784: feat: auto-insert `}` when typing `{` in use item r=jonas-schievink a=jonas-schievink ![Peek 2021-05-09 22-14](https://user-images.githubusercontent.com/1786438/117585742-45983f80-b114-11eb-80fc-d44f480fd012.gif) cc https://github.com/rust-analyzer/rust-analyzer/issues/8636 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | feat: auto-insert `}` when typing `{` in use itemJonas Schievink2021-05-091-19/+131
|/ / /
* | | Merge #8783bors[bot]2021-05-0914-117/+104
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8783: internal: introduce `ast::make::ext` module with common shortcuts r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: introduce `ast::make::ext` module with common shortcutsAleksey Kladov2021-05-0914-117/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a tension between keeping a well-architectured minimal orthogonal set of constructs, and providing convenience functions. Relieve this pressure by introducing an dedicated module for non-orthogonal shortcuts. This is inspired by the django.shortcuts module which serves a similar purpose architecturally.
* | | | Merge #8782bors[bot]2021-05-094-44/+49
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8782: internal: fix make API r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: fix make APIAleksey Kladov2021-05-094-44/+49
| | | |
* | | | Merge #8781bors[bot]2021-05-097-100/+100
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8781: internal: rewrite **Repalce impl Trait** assist to mutable syntax trees r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: rewrite **Repalce impl Trait** assist to mutable syntax treesAleksey Kladov2021-05-092-23/+20
| | | |
| * | | cleanupsAleksey Kladov2021-05-093-5/+6
| | | |
| * | | cleanupsAleksey Kladov2021-05-094-17/+25
| | | |
| * | | minor: fix test styleAleksey Kladov2021-05-092-67/+31
| | | |
| * | | fix: join lines doesn't add space before closing quoteAleksey Kladov2021-05-091-0/+30
| | | |
* | | | Merge #8776bors[bot]2021-05-0910-74/+119
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8776: fix: fix unnecessary recomputations due to macros r=jonas-schievink a=jonas-schievink This computes a macro's fragment kind eagerly (when the calling file is still available in parsed form) and stores it in the `MacroCallLoc`. This means that during expansion we no longer have to reparse the file containing the macro call, avoiding the unnecessary salsa dependencies (https://github.com/rust-analyzer/rust-analyzer/pull/8746#issuecomment-834776349). Marking as draft until I manage to find a test for this problem, since for some reason `typing_inside_a_function_should_not_invalidate_expansions` does not catch this (which might indicate that I misunderstand the problem). I've manually confirmed that this fixes the issue described in https://github.com/rust-analyzer/rust-analyzer/pull/8746#issuecomment-834776349: ``` 7ms - parse_query @ FileId(179) 12ms - SourceBinder::to_module_def 12ms - crate_def_map:wait 5ms - item_tree_query (1 calls) 7ms - ??? ``` Co-authored-by: Jonas Schievink <[email protected]>
| * | | Test that none of the macros are reparsedJonas Schievink2021-05-091-0/+6
| | | |
| * | | Precompute macro fragment kindJonas Schievink2021-05-099-74/+113
| | | |
* | | | Merge #8779bors[bot]2021-05-091-9/+32
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8779: fix: join lines doesn't add space before closing quote r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | fix: join lines doesn't add space before closing quoteAleksey Kladov2021-05-091-9/+32
|/ / / /