aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Support intra_doc linksDaiki Ihara2021-01-082-5/+111
|
* Merge #7205bors[bot]2021-01-083-5/+21
|\ | | | | | | | | | | | | | | | | | | 7205: Fix bug for $crate in LHS of mbe r=edwin0cheng a=edwin0cheng We treated `$crate` as meta variable in LHS of mbe, which should be an `ident`. Fixes #7204 Co-authored-by: Edwin Cheng <[email protected]>
| * Add testEdwin Cheng2021-01-081-0/+13
| |
| * Fix bug when $crate in LHS in mbeEdwin Cheng2021-01-082-5/+8
|/
* Merge #7145bors[bot]2021-01-089-58/+235
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7145: Proper handling $crate Take 2 [DO NOT MERGE] r=edwin0cheng a=edwin0cheng Similar to previous PR (#7133) , but improved the following things : 1. Instead of storing the whole `ExpansionInfo`, we store a similar but stripped version `HygieneInfo`. 2. Instread of storing the `SyntaxNode` (because every token we are interested are IDENT), we store the `TextRange` only. 3. Because of 2, we now can put it in Salsa. 4. And most important improvement: Instead of computing the whole frames every single time, we compute it recursively through salsa: (Such that in the best scenario, we only need to compute the first layer of frame) ```rust let def_site = db.hygiene_frame(info.def.file_id); let call_site = db.hygiene_frame(info.arg.file_id); HygieneFrame { expansion: Some(info), local_inner, krate, call_site, def_site } ``` The overall speed compared to previous PR is much faster (65s vs 45s) : ``` [WITH old PR] Database loaded 644.86ms, 284mi Crates in this dir: 36 Total modules found: 576 Total declarations: 11153 Total functions: 8715 Item Collection: 15.78s, 91562mi Total expressions: 240721 Expressions of unknown type: 2635 (1%) Expressions of partially unknown type: 2064 (0%) Type mismatches: 865 Inference: 49.84s, 250747mi Total: 65.62s, 342310mi rust-analyzer -q analysis-stats . 66.72s user 0.57s system 99% cpu 1:07.40 total [WITH this PR] Database loaded 665.83ms, 284mi Crates in this dir: 36 Total modules found: 577 Total declarations: 11188 Total functions: 8743 Item Collection: 15.28s, 84919mi Total expressions: 241229 Expressions of unknown type: 2637 (1%) Expressions of partially unknown type: 2064 (0%) Type mismatches: 868 Inference: 30.15s, 135293mi Total: 45.43s, 220213mi rust-analyzer -q analysis-stats . 46.26s user 0.74s system 99% cpu 47.294 total ``` *HOWEVER*, it is still a perf regression (35s vs 45s): ``` [WITHOUT this PR] Database loaded 657.42ms, 284mi Crates in this dir: 36 Total modules found: 577 Total declarations: 11177 Total functions: 8735 Item Collection: 12.87s, 72407mi Total expressions: 239380 Expressions of unknown type: 2643 (1%) Expressions of partially unknown type: 2064 (0%) Type mismatches: 868 Inference: 22.88s, 97889mi Total: 35.74s, 170297mi rust-analyzer -q analysis-stats . 36.71s user 0.63s system 99% cpu 37.498 total ``` Co-authored-by: Edwin Cheng <[email protected]>
| * Proper handling $crate Take 2Edwin Cheng2021-01-079-58/+235
| |
* | Merge #7201bors[bot]2021-01-072-57/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | 7201: Simplify some matches in completions modules r=matklad a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | Simplify mod completionLukas Wirth2021-01-071-38/+31
| | |
| * | Tidy up attribute completion matchLukas Wirth2021-01-071-19/+11
|/ /
* | Merge #7097bors[bot]2021-01-077-20/+90
|\ \ | | | | | | | | | | | | | | | | | | | | | 7097: Add fix to wrap return expression in Some r=matklad a=theotherphil Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7095 Co-authored-by: Phil Ellison <[email protected]>
| * | Switch test markerPhil Ellison2021-01-071-1/+1
| | |
| * | cargo fmtPhil Ellison2021-01-072-7/+11
| | |
| * | Add fix to wrap return expression in SomePhil Ellison2021-01-077-21/+87
|/ /
* | Merge #7199bors[bot]2021-01-071-23/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7199: typo r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | typoAleksey Kladov2021-01-071-23/+23
| | |
* | | Merge #7193bors[bot]2021-01-079-41/+102
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7193: Show progress for fetching workspace (cargo-metadata and loadOutDirsFromCheck) r=matklad a=edwin0cheng ![Peek 2021-01-07 21-57](https://user-images.githubusercontent.com/11014119/103902132-0db4c780-5135-11eb-94d3-32429445be87.gif) Fixes #7188 Fixes #3300 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Report progress for cargo metadata and output-dirEdwin Cheng2021-01-075-18/+77
| | | |
| * | | Refactor out JodChildEdwin Cheng2021-01-074-23/+25
| | | |
* | | | Merge #7191bors[bot]2021-01-071-24/+27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7191: Adjust vfs crate documentation r=matklad a=arnaudgolfouse This removes an outdated comment, and uses intra-doc links Co-authored-by: Arnaud <[email protected]>
| * | | | Use `file_set::FileSet` and `FileSet` consistently in docArnaud2021-01-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | The first occurrence of `FileSet` has the full path (`file_set::FileSet`), while every other is simply `FileSet`.
| * | | | Use intra-doc links in `vfs` crate documentationArnaud2021-01-071-20/+26
| | | | |
| * | | | Remove the reference to `WalkdirLoaderHandle` in vfs documentationArnaud2021-01-071-3/+0
| | | | | | | | | | | | | | | | | | | | This structure was deleted in commit #dad1333
* | | | | Merge #7198bors[bot]2021-01-071-63/+115
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7198: Styleguide readability r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Styleguide readabilityAleksey Kladov2021-01-071-63/+115
| | | | |
* | | | | Merge #7197bors[bot]2021-01-071-1/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7197: Document `std::ops` style r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Document `std::ops` styleAleksey Kladov2021-01-071-1/+9
| | | | |
* | | | | Merge #7196bors[bot]2021-01-077-18/+140
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7196: Better fixture highlight r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Better fixture highlightAleksey Kladov2021-01-077-18/+140
| | | | |
* | | | | Merge #7195bors[bot]2021-01-072-3/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7195: Update remaining serverPath references r=lnicola a=lnicola Fixes https://github.com/rust-analyzer/rust-analyzer/pull/7156#issuecomment-755487667 Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | Update remaining serverPath referencesLaurențiu Nicola2021-01-072-3/+3
| | | | | |
* | | | | | Merge #7194bors[bot]2021-01-071-1/+6
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7194: Don't update the server if managed by the user r=matklad a=lnicola Fixes #7187 CC @figsoda Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | Don't update the server if managed by the userLaurențiu Nicola2021-01-071-1/+6
| |/ / / /
* | | | | Merge #7184bors[bot]2021-01-07110-1765/+1745
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7184: Changes Cursor Marker To $0 r=matklad a=kevaundray Co-authored-by: Kevaundray Wedderburn <[email protected]>
| * | | | | Change <|> to $0 - RebaseKevaundray Wedderburn2021-01-07110-1765/+1745
| | |/ / / | |/| | |
* | | | | Merge #7192bors[bot]2021-01-073-11/+24
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7192: Use american spelling for config r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Use american spelling for configAleksey Kladov2021-01-073-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://github.com/rust-analyzer/rust-analyzer/blob/171c3c08fe245938fb25321394233de5fe2abc7c/docs/dev/style.md#variable-naming Also implement config aliasing, for pain-free settings migrations in the future
* | | | | Merge #7190bors[bot]2021-01-075-12/+5
|\| | | | | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 7190: Remove some stale deprecations r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Remove some stale deprecationsAleksey Kladov2021-01-075-12/+5
|/ / /
* | | Merge #7189bors[bot]2021-01-071-1/+13
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 7189: Extend git evacuation procedure r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Extend git evacuation procedureAleksey Kladov2021-01-071-1/+13
| | |
* | | Merge #7186bors[bot]2021-01-0622-162/+164
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 7186: Align config's API with usage r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Align config's API with usageAleksey Kladov2021-01-0622-162/+164
|/ / | | | | | | The config now is mostly immutable, optimize for that.
* | Merge #7183bors[bot]2021-01-067-78/+32
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7183: YAGNI active_resolve_capabilities r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | YAGNI active_resolve_capabilitiesAleksey Kladov2021-01-067-78/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | This leaks a lot of LSP details into ide layer, which we want to avoid: https://github.com/rust-analyzer/rust-analyzer/tree/c9cec381bcfd97e5f3536e31a9c546ab5c0665e6/docs/dev#lsp-independence Additionally, all what this infra does is providing a toggle for auto-import completion, but we already have one!
* | | Merge #7182bors[bot]2021-01-064-13/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7182: Replace last usages of difference with dissimilar r=matklad a=Jesse-Bakker Co-authored-by: Jesse Bakker <[email protected]>
| * | | Replace last usages of difference with dissimilarJesse Bakker2021-01-064-13/+18
|/ / /
* | | Merge #7181bors[bot]2021-01-062-2/+27
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7181: Document project_model::PackageData and project_model::TargetData r=arnaudgolfouse a=arnaudgolfouse This PR adds some documentation for the `project_model` crate. Some of the field descriptions were taken directly from their `cargo_metadata` counterpart : - `PackageData` -> `cargo_metadata::Package` - `TargetData` -> `cargo_metadata::Target` Co-authored-by: Arnaud <[email protected]>
| * | | Document `project_model::TargetData`Arnaud2021-01-061-0/+6
| | | | | | | | | | | | | | | | This adds a description for `TargetData` and all its fields.
| * | | Document `project_model::PackageData`Arnaud2021-01-061-0/+16
| | | | | | | | | | | | | | | | This adds a description for `PackageData` and all its fields.
| * | | Make `PackageData`, `TargetData` and `PackageDependency` publicArnaud2021-01-061-2/+5
| | | | | | | | | | | | | | | | | | | | This makes them discoverable through documentation. They were already publicly accessible through `Package` and `Target`.