aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fold multiline fn parametersAleksey Kladov2020-07-271-1/+13
|
* Merge #5539bors[bot]2020-07-273-27/+103
|\ | | | | | | | | | | | | | | 5539: SSR: Fix path resolution of locals in current scope r=matklad a=davidlattimore Co-authored-by: David Lattimore <[email protected]>
| * SSR: Fix for path resolution of localsDavid Lattimore2020-07-262-0/+65
| | | | | | | | | | | | | | | | It seems that Semantics::scope, if given a statement node, won't resolve locals that were defined in the current scope, only in parent scopes. Not sure if this is intended / expected behavior, but we work around it for now by finding another nearby node to use as the scope (e.g. the expression inside the EXPR_STMT).
| * SSR: Move more resolution-related code into the resolving moduleDavid Lattimore2020-07-262-27/+38
| |
* | Merge #5541bors[bot]2020-07-271-4/+278
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5541: add completion for rustc lints r=matklad a=Emilgardis This is a very naive approach to provide completions for lints. Preferably, this would pull from current `rustup which rustc` via `rustc -W help <crate>`, but currently `rustc` only provides human output for lints. ![image](https://user-images.githubusercontent.com/1502855/88492913-90dec880-cfae-11ea-89d8-2b494951b20c.png) also, clippy would be really nice but I feel like for that ra should really pull from clippy Co-authored-by: Emil Gardström <[email protected]>
| * | add completion for rustc lintsEmil Gardström2020-07-271-4/+278
| |/
* | Merge #5543bors[bot]2020-07-271-12/+12
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 5543: :arrow_up: deps r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: depsAleksey Kladov2020-07-271-12/+12
|/
* Merge #5538bors[bot]2020-07-261-0/+4
|\ | | | | | | | | | | | | | | | | | | | | 5538: Report type errors in metrics r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Report type errors in metricsAleksey Kladov2020-07-261-0/+4
|/
* Merge #5537bors[bot]2020-07-261-21/+50
|\ | | | | | | | | | | | | | | | | | | | | 5537: Add one more test r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add one more testAleksey Kladov2020-07-261-21/+50
|/
* Merge #5531bors[bot]2020-07-256-30/+102
|\ | | | | | | | | | | | | | | | | | | | | 5531: Add rustc-perf to metrics r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add rustc-perf to metricsAleksey Kladov2020-07-256-30/+102
|/
* Merge #5527bors[bot]2020-07-243-33/+52
|\ | | | | | | | | | | | | | | | | | | | | 5527: Link metrics r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Link metricsAleksey Kladov2020-07-241-8/+6
| |
| * Add self-analysis-stats to metricsAleksey Kladov2020-07-242-25/+46
|/
* Merge #5520bors[bot]2020-07-244-7/+26
|\ | | | | | | | | | | | | | | 5520: Add DocumentData to represent in-memory document with LSP info r=matklad a=kjeremy At the moment this only holds document version information but in the near-future it will hold other things like semantic token delta info. Co-authored-by: kjeremy <[email protected]>
| * Add DocumentData to represent in-memory document with LSP infokjeremy2020-07-244-7/+26
| |
* | Merge #5525bors[bot]2020-07-241-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5525: minor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | minorAleksey Kladov2020-07-241-1/+1
| | |
* | | Merge #5524bors[bot]2020-07-2410-103/+159
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 5524: Allow opting out of experimental diagnostics like MismatchedArgCount r=matklad a=jonas-schievink Closes https://github.com/rust-analyzer/rust-analyzer/issues/5448 Closes https://github.com/rust-analyzer/rust-analyzer/issues/5419 Co-authored-by: Jonas Schievink <[email protected]>
| * | Only display experimental diagnostics when enabledJonas Schievink2020-07-245-11/+22
| | |
| * | Add toggle for experimental diagnosticsJonas Schievink2020-07-242-5/+14
| | |
| * | Mark MismatchedArgCount as experimentalJonas Schievink2020-07-241-0/+3
| | |
| * | Allow filtering diagnosticsJonas Schievink2020-07-241-3/+22
| | |
| * | Add a builder for DiagnosticSinkJonas Schievink2020-07-244-88/+102
| | |
* | | Real metricsAleksey Kladov2020-07-241-3/+3
| | |
* | | Fix metricsAleksey Kladov2020-07-241-10/+20
| | |
* | | Fix metricsAleksey Kladov2020-07-242-14/+8
| | |
* | | Fix emailAleksey Kladov2020-07-241-1/+1
| | |
* | | fix syntaxAleksey Kladov2020-07-241-1/+1
| | |
* | | Fix another nameAleksey Kladov2020-07-242-3/+4
| | |
* | | fix nameAleksey Kladov2020-07-242-2/+2
| | |
* | | Add metricsAleksey Kladov2020-07-244-0/+255
| | |
* | | Revert "Merge #5516"Aleksey Kladov2020-07-242-43/+32
| | | | | | | | | | | | | | | This reverts commit 5b13c2411f025a16495f5828afe2def6e9220102, reversing changes made to c3defe2532ba6ffd12a13bcbc8fdeda037665efc.
* | | Merge #5523bors[bot]2020-07-242-13/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5523: Minor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | MinorAleksey Kladov2020-07-242-13/+21
| | |/ | |/|
* | | Merge #5522bors[bot]2020-07-241-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5522: Increace tracing-tree version from 0.1.3 to 0.1.4 r=kjeremy a=vandenheuvel Co-authored-by: Bram van den Heuvel <[email protected]>
| * | | Increace tracing-tree version from 0.1.3 to 0.1.4Bram van den Heuvel2020-07-241-1/+1
| | | |
* | | | Merge #5516bors[bot]2020-07-242-32/+43
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5516: Better LSP conformance r=matklad a=vsrs At the moment rust-analyzer does not fully conform to the LSP. This PR fixes two LSP related issues: 1) rust-analyzer sends predefined server capabilities and does not take supplied client capabilities in mind. 2) rust-analyzer uses dynamic `textDocument/didSave` registration even if the client does not support it. Co-authored-by: vsrs <[email protected]>
| * | | Always send experimental & semantic server caps.vsrs2020-07-241-72/+36
| | | |
| * | | Code formattingvsrs2020-07-241-1/+2
| | | |
| * | | Send dynamic didSave only if the client supportsvsrs2020-07-242-32/+42
| | | |
| * | | Prepare server capabilities based on client ones.vsrs2020-07-241-36/+72
| |/ /
* | | Merge #5518bors[bot]2020-07-2420-393/+1431
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5518: Use resolved paths in SSR rules r=matklad a=davidlattimore The main user-visible changes are: * SSR now matches paths based on whether they resolve to the same thing instead of whether they're written the same. * So `foo()` won't match `foo()` if it's a different function `foo()`, but will match `bar::foo()` if it's the same `foo`. * Paths in the replacement will now be rendered with appropriate qualification for their context. * For example `foo::Bar` will render as just `Bar` inside the module `foo`, but might render as `baz::foo::Bar` from elsewhere. * This means that all paths in the search pattern and replacement template must be able to be resolved. * It now also matters where you invoke SSR from, since paths are resolved relative to wherever that is. * Search now uses find-uses on paths to locate places to try matching. This means that when a path is present in the pattern, search will generally be pretty fast. * Function calls can now match method calls again, but this time only if they resolve to the same function. Co-authored-by: David Lattimore <[email protected]>
| * | SSR: Fix a typescript lint warningDavid Lattimore2020-07-241-1/+1
| | |
| * | SSR: Allow function calls to match method callsDavid Lattimore2020-07-246-25/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This differs from how this used to work before I removed it in that: a) It's only one direction. Function calls in the pattern can match method calls in the code, but not the other way around. b) We now check that the function call in the pattern resolves to the same function as the method call in the code. The lack of (b) was the reason I felt the need to remove the feature before.
| * | SSR: Disable matching within use declarationsDavid Lattimore2020-07-242-1/+51
| | | | | | | | | | | | | | | It currently does the wrong thing when the use declaration contains braces.
| * | SSR: Use Definition::find_usages to speed up matching.David Lattimore2020-07-245-24/+157
| | | | | | | | | | | | When the search pattern contains a path, this substantially speeds up finding matches, especially if the path references a private item.