aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect behaviour if not resolvedMikhail Rakhmanov2020-06-031-0/+1
|
* Further refactoring under review commentsMikhail Rakhmanov2020-05-241-7/+3
|
* Remove unnecessary set_file and change variable positions for better readabilityMikhail Rakhmanov2020-05-231-2/+1
|
* Remove unwraps where possibleMikhail Rakhmanov2020-05-231-22/+11
|
* Further review fixesMikhail Rakhmanov2020-05-234-15/+12
|
* Use default instead of new in AssistDirectorMikhail Rakhmanov2020-05-231-5/+7
|
* Better naming and fix some review commentsMikhail Rakhmanov2020-05-232-15/+14
|
* More formattingMikhail Rakhmanov2020-05-221-3/+1
|
* Refactor AssistDirectorMikhail Rakhmanov2020-05-221-6/+4
|
* Formatting and remove unused importsMikhail Rakhmanov2020-05-222-16/+21
|
* Add preliminary implementation of extract struct from enum variantMikhail Rakhmanov2020-05-225-1/+403
|
* Merge #4573bors[bot]2020-05-226-969/+1105
|\ | | | | | | | | | | | | | | | | | | 4573: Chalk cleanups r=matklad a=flodiebold - split off the `Interner` impl and the conversion code into their own modules - use `TypeCtorId` as `AdtId` directly (instead of raw `InternId`s), and rename the type alias `StructId` -> `AdtId` - provide missing Chalk debug impls Co-authored-by: Florian Diebold <[email protected]>
| * Provide missing Chalk debug methodsFlorian Diebold2020-05-222-0/+112
| |
| * Use TypeCtorId as AdtId directly, and rename the type alias StructId -> AdtIdFlorian Diebold2020-05-225-14/+14
| |
| * Split up chalk module a bitFlorian Diebold2020-05-223-958/+982
|/
* Merge #4570bors[bot]2020-05-223-18/+277
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4570: Use Chalk's built-in impls r=matklad a=flodiebold This contains two changes: - Chalk has begun adding built-in representations of primitive types; use these in our type conversion logic. There's one somewhat 'iffy' part here, namely references; we don't keep track of lifetimes, but Chalk does, so it will expect a lifetime parameter on references. If we didn't provide that, it could cause crashes in Chalk code that expects the lifetime, so I rather hackily add an (always the same) lifetime placeholder during conversion. I expect that we'll fully switch to using Chalk's types everywhere before we add lifetime support, so I think this is the best solution for now. - let Chalk know about well-known traits (from lang items), so it can apply its built-in impls. Before: ``` Total expressions: 181485 Expressions of unknown type: 2940 (1%) Expressions of partially unknown type: 2884 (1%) Type mismatches: 901 Inference: 37.821210245s, 0b allocated 0b resident Total: 53.399467609s, 0b allocated 0b resident ``` After: ``` Total expressions: 181485 Expressions of unknown type: 2923 (1%) Expressions of partially unknown type: 2879 (1%) Type mismatches: 734 Inference: 39.157752509s, 0b allocated 0b resident Total: 54.110767621s, 0b allocated 0b resident ``` (I will start splitting up `chalk.rs` in a separate PR, since it's getting pretty big...) Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * Add some tests for Chalk built-in trait implsFlorian Diebold2020-05-221-0/+78
| |
| * Provide Chalk well-known traitsFlorian Diebold2020-05-222-10/+41
| |
| * Use Chalk's built-in representations of primitive typesFlorian Diebold2020-05-221-10/+160
| | | | | | | | For references, we make sure Chalk actually gets a lifetime here.
* | Merge #4572bors[bot]2020-05-221-1/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4572: Link upstream issues r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Link upstream issuesAleksey Kladov2020-05-221-1/+7
|/ /
* | Merge #4571bors[bot]2020-05-228-153/+112
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4571: KISS SourceChange r=matklad a=matklad The idea behind requiring the label is a noble one, but we are not really using it consistently anyway, and it should be easy to retrofit later, should we need it. bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * | KISS SourceChangeAleksey Kladov2020-05-228-153/+112
| | | | | | | | | | | | | | | | | | The idea behind requiring the label is a noble one, but we are not really using it consistently anyway, and it should be easy to retrofit later, should we need it.
* | | Merge #4569bors[bot]2020-05-2211-83/+109
|\| | | |/ |/| | | | | | | | | | | | | | | | | 4569: CodeAction groups r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * CodeAction groupsAleksey Kladov2020-05-2211-83/+109
| |
* | Merge #4568bors[bot]2020-05-224-80/+94
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4568: Update Chalk r=matklad a=flodiebold As always, this just makes compilation work, we don't use the newly available functionality yet. Co-authored-by: Florian Diebold <[email protected]>
| * | Update ChalkFlorian Diebold2020-05-224-80/+94
|/ / | | | | | | | | As always, this just makes compilation work, we don't use the newly available functionality yet.
* | Merge #4516bors[bot]2020-05-223-26/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4516: LSP: Two stage initialization r=kjeremy a=kjeremy Fills in server information. Derives CodeAction capabilities from the client. If code action literals are unsupported we fall back to the "simple support" which just sends back commands (this is already supported in our config). The difference being that we did not adjust our server capabilities so that if the client was checking for `CodeActionProvider: "true"` in the response that would have failed. Part of #144 Fixes #4130 (the specific case called out in that issue) Co-authored-by: kjeremy <[email protected]>
| * | Add versionkjeremy2020-05-191-1/+1
| | |
| * | Fill code action capabilities with a functionkjeremy2020-05-191-29/+27
| | |
| * | LSP: Two stage initializationkjeremy2020-05-193-26/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fills in server information. Derives CodeAction capabilities from the client. If code action literals are unsupported we fall back to the "simple support" which just sends back commands (this is already supported in our config). The difference being that we did not adjust our server capabilities so that if the client was checking for `CodeActionProvider: "true"` in the response that would have failed.
* | | Merge #4560bors[bot]2020-05-216-9/+43
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | 4560: Use WorkspaceEdit for ssr r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Use WorkspaceEdit for ssrAleksey Kladov2020-05-216-9/+43
|/ /
* | Merge #4557bors[bot]2020-05-219-47/+129
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4557: Formalize JoinLines protocol extension r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Formalize JoinLines protocol extensionAleksey Kladov2020-05-219-47/+129
|/ /
* | Merge #4553bors[bot]2020-05-217-50/+37
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4553: Cleanup r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | CleanupAleksey Kladov2020-05-213-34/+18
| | |
| * | Cleanup TextEditAleksey Kladov2020-05-215-18/+21
|/ /
* | Merge #4552bors[bot]2020-05-2116-478/+109
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4552: Transition OnEnter to WorkspaceSnippetEdit r=matklad a=matklad This also changes our handiling of snippet edits on the client side. `editor.insertSnippet` unfortunately forces indentation, which we really don't want to have to deal with. So, let's just implement our manual hacky way of dealing with a simple subset of snippets we actually use in rust-analyzer bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove dead code for handling cursor positionsAleksey Kladov2020-05-218-388/+12
| | |
| * | Transition OnEnter to WorkspaceSnippetEditAleksey Kladov2020-05-218-90/+97
| | | | | | | | | | | | | | | | | | | | | | | | This also changes our handiling of snippet edits on the client side. `editor.insertSnippet` unfortunately forces indentation, which we really don't want to have to deal with. So, let's just implement our manual hacky way of dealing with a simple subset of snippets we actually use in rust-analyzer
* | | Merge #4550bors[bot]2020-05-211-4/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 4550: Fix phrasing in inlay hints settings r=matklad a=lnicola Part of #4549 r? @LucianoBestia Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Fix phrasing in inlay hints settingsLaurențiu Nicola2020-05-211-4/+4
|/ /
* | Merge #4547bors[bot]2020-05-213-8/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4547: Remove unused cursor positions r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove unused cursor positionsAleksey Kladov2020-05-213-8/+3
|/ /
* | Merge #4506bors[bot]2020-05-212-4/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4506: Make `find_path_inner` a query r=matklad a=jonas-schievink This eliminates the remaining performance problems in the "Implement default members" assist (at least those that I've found). Closes https://github.com/rust-analyzer/rust-analyzer/issues/4498 Co-authored-by: Jonas Schievink <[email protected]>
| * | Make `find_path_inner` a queryJonas Schievink2020-05-202-4/+7
| | | | | | | | | | | | | | | This eliminates any remaining performance problems in the "Implement default members" assist (at least that I've found).
* | | Merge #4543bors[bot]2020-05-211-13/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4543: Remove unused cursor positions r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Remove unused cursor positionsAleksey Kladov2020-05-201-13/+7
|/ / /
* | | Merge #4541bors[bot]2020-05-208-68/+61
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 4541: Remove set_cursor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>