aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge #8767bors[bot]2021-05-254-102/+155
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8767: implement range formatting r=matklad a=euclio Fixes #7580. This PR implements the `textDocument/rangeFormatting` request using `rustfmt`'s `--file-lines` option. Still needs some tests. What I want to know is how I should handle the instability of the `--file-lines` option. It's still unstable in rustfmt, so it's only available on nightly, and needs a special flag to enable. Is there a way for `rust-analyzer` to detect if it's using nightly rustfmt, or for users to opt-in? Co-authored-by: Andy Russell <[email protected]>
| * | | | implement range formattingAndy Russell2021-05-234-102/+155
| | | | |
* | | | | Merge #8986bors[bot]2021-05-251-0/+32
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8986: Add go to type definition for struct fields within struct r=matklad a=lf- Example: ```rust struct A; struct B { a/*<- cursor*/: A, } ``` Go to type definition used to not work on this position. It now goes to `A` as expected. Co-authored-by: Jade <[email protected]>
| * | | | Add go to type definition for struct fields within structJade2021-05-251-0/+32
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: ```rust struct A; struct B { a/*<- cursor*/: A, } ``` Go to type definition used to not work on this position. It now goes to `A` as expected.
* | | | Minor test fixes / new testsFlorian Diebold2021-05-251-15/+62
| | | |
* | | | Fix type mismatch caused by macrosFlorian Diebold2021-05-252-1/+45
|/ / / | | | | | | | | | | | | | | | MacroStmts should be completely transparent, but it prevented coercion. (I should maybe give `infer_expr` and `infer_expr_inner` better names.)
* | | Merge #8942bors[bot]2021-05-2510-62/+124
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8942: Add `library` semantic token modifier to items from other crates r=arzg a=arzg Closes #5772. A lot of code here is pretty repetitive; please let me know if you have any ideas how to improve it, or whether it’s fine as-is. Side-note: How can I add tests for this? I don’t see a way for the test Rust code in `test_highlighting` to reference other crates to observe the new behaviour. Co-authored-by: Aramis Razzaghipour <[email protected]>
| * | | Refactor application of `library` semantic token modifierAramis Razzaghipour2021-05-251-62/+15
| | | |
| * | | Remove superfluous early-returnsAramis Razzaghipour2021-05-241-18/+22
| | | |
| * | | Rename ‘foreign’ semantic token modifier to ‘library’Aramis Razzaghipour2021-05-245-20/+20
| | | |
| * | | Add testing of foreign item highlightingAramis Razzaghipour2021-05-242-1/+55
| | | |
| * | | Highlight foreign modules as suchAramis Razzaghipour2021-05-241-1/+9
| | | |
| * | | Remove hir krate methodsAramis Razzaghipour2021-05-244-59/+11
| | | |
| * | | Add highlighting of items from other cratesAramis Razzaghipour2021-05-246-12/+103
| | | |
* | | | Merge #8979bors[bot]2021-05-241-5/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8979: minor: update `CrateGraph` comment r=jonas-schievink a=jonas-schievink `cfg` flags are now implemented, and crates *may* have names, it doesn't doesn't matter for name resolution bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Update `CrateGraph` commentJonas Schievink2021-05-241-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | `cfg` flags are now implemented, and crates *may* have names, it doesn't doesn't matter for name resolution
* | | | | internal: intern `AttrInput`Jonas Schievink2021-05-243-13/+14
|/ / / /
* | | | Merge #8975bors[bot]2021-05-243-62/+111
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8975: Use todo!() as placeholder body for generated match arms r=matklad a=jDomantas `todo!()` seems to be a better fit for this than `{}`. Seeing that this assist predates stabilization of `todo` my guess is that simply no one bothered to change it yet. Also fixed the issue where if the last arm was not block-like, rust-analyzer would not add a comma after it and would generate invalid code. Co-authored-by: Domantas Jadenkus <[email protected]>
| * | | | add test that it does not create extraneous commasDomantas Jadenkus2021-05-241-0/+20
| | | | |
| * | | | tidyDomantas Jadenkus2021-05-241-2/+2
| | | | |
| * | | | generate match arms with todo!() as placeholder bodyDomantas Jadenkus2021-05-242-60/+89
| | | | |
* | | | | Merge #8977bors[bot]2021-05-247-90/+101
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8977: internal: minor `TokenMap` cleanups r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | FixupJonas Schievink2021-05-242-4/+8
| | | | | |
| * | | | | Make `TokenTextRange` privateJonas Schievink2021-05-245-11/+10
| | | | | |
| * | | | | Move `TokenMap` to its own fileJonas Schievink2021-05-243-81/+89
| | | | | |
* | | | | | internal: rename hypothetical -> speculativeAleksey Kladov2021-05-245-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lets steal this good naming from Roslyn before I forget about it yet again.
* | | | | | Merge #8970bors[bot]2021-05-241-15/+21
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8970: fix: duplicate dependencies that have multiple DepKinds r=jonas-schievink a=jonas-schievink Cargo collapses identical dependencies that are listed under `[dependencies]` and `[build-dependencies]` into a single `NodeDep`. We have to undo that by duplicating the dependency for each of its listed `DepKind`s. Not doing that would incorrectly treat a dependency as `DepKind::Normal`, even though it is *also* meant to be a `DepKind::Build`. Fixes https://github.com/rust-analyzer/rust-analyzer/pull/8812#issuecomment-847125395 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Duplicate dependencies that have multiple DepKindsJonas Schievink2021-05-241-15/+21
| |/ / / /
* | | | | Merge #8963bors[bot]2021-05-2418-12/+68
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | | | | | 8963: Bump deps r=matklad a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | Update test fixturesLaurențiu Nicola2021-05-2411-1/+57
| | | |
| * | | Bump rustc_lexerLaurențiu Nicola2021-05-241-1/+1
| | | |
| * | | Disable `unaliged` feature of `object`Laurențiu Nicola2021-05-241-1/+1
| | | |
| * | | Bump objectLaurențiu Nicola2021-05-243-3/+3
| | | |
| * | | Bump misc depsLaurențiu Nicola2021-05-242-4/+4
| | | |
| * | | Bump chalkLaurențiu Nicola2021-05-241-3/+3
| | | |
* | | | Intern `GenericArgs`Jonas Schievink2021-05-244-11/+10
| | | | | | | | | | | | | | | | This shaves off another ~4 mb or so
* | | | internal: intern `TypeBound`sJonas Schievink2021-05-2412-27/+49
|/ / / | | | | | | | | | | | | Doesn't save much memory (~2 mb), but interning things is generally a good pattern to follow
* | | Merge #8955bors[bot]2021-05-248-20/+141
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8955: feature: Support standalone Rust files r=matklad a=SomeoneToIgnore ![standalone](https://user-images.githubusercontent.com/2690773/119277037-0b579380-bc26-11eb-8d77-20d46ab4916a.gif) Closes https://github.com/rust-analyzer/rust-analyzer/issues/6388 Caveats: * I've decided to support multiple detached files in the code (anticipating the scratch files), but I found no way to open multiple files in VSCode at once: running `code *.rs` makes the plugin to register in the `vscode.workspace.textDocuments` only the first file, while code actually displays all files later. Apparently what happens is the same as when you have VSCode open at some workplace already and then run `code some_other_file.rs`: it gets opened in the same workspace of the same VSCode with no server to support it. If there's a way to override it, I'd appreciate the pointer. * No way to toggle inlay hints, since the setting is updated for the workspace (which does not exist for a single file opened) > [2021-05-24 00:22:49.100] [exthost] [error] Error: Unable to write to Workspace Settings because no workspace is opened. Please open a workspace first and try again. * No runners/lens to run or check the code are implemented for this mode. In theory, we can detect `rustc`, run it on a file and run the resulting binary, but not sure if worth doing it at this stage. Otherwise imports, hints, completion and other features work. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Add a FIXMEKirill Bulatov2021-05-241-0/+9
| | | |
| * | | Small file error display fixKirill Bulatov2021-05-241-1/+1
| | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Don't discover workspaces when detached files are givenKirill Bulatov2021-05-231-3/+2
| | | |
| * | | Deal with todosKirill Bulatov2021-05-231-4/+14
| | | |
| * | | Do not add cargo target for detached files only projectKirill Bulatov2021-05-231-13/+22
| | | |
| * | | Drag detached files towards loadingKirill Bulatov2021-05-236-11/+83
| | | |
| * | | Draft detached files retrievalKirill Bulatov2021-05-236-3/+25
| | |/ | |/|
* | | Merge #8945bors[bot]2021-05-2314-69/+175
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8945: fix: Make expected type work in more situations r=flodiebold a=flodiebold Also makes call info show the correct types for generic methods. ![2021-05-23-182952_1134x616_scrot](https://user-images.githubusercontent.com/906069/119269023-dd5a5b00-bbf5-11eb-993a-b6e122c3b9a6.png) ![2021-05-23-183117_922x696_scrot](https://user-images.githubusercontent.com/906069/119269025-dfbcb500-bbf5-11eb-983c-fc415b8428e0.png) Co-authored-by: Florian Diebold <[email protected]>
| * | | Get rid of field_type againFlorian Diebold2021-05-236-24/+16
| | | |
| * | | Infer correct expected type in closureFlorian Diebold2021-05-231-1/+8
| | | | | | | | | | | | | | | | Sadly currently only works if the closure body isn't completely missing.
| * | | Infer correct expected type for generic struct fieldsFlorian Diebold2021-05-234-19/+46
| | | |
| * | | Record method call substs and use them in call infoFlorian Diebold2021-05-239-45/+125
| | | |