aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* 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 #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-227-67/+19
|\| | | |/ |/| | | | | | | | | | | | | | | | | 4569: CodeAction groups r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * CodeAction groupsAleksey Kladov2020-05-227-67/+19
| |
* | Update ChalkFlorian Diebold2020-05-223-52/+81
| | | | | | | | | | As always, this just makes compilation work, we don't use the newly available functionality yet.
* | Merge #4516bors[bot]2020-05-222-24/+53
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-192-24/+55
| | | | | | | | | | | | | | | | | | | | 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.
* | Use WorkspaceEdit for ssrAleksey Kladov2020-05-213-4/+5
| |
* | Formalize JoinLines protocol extensionAleksey Kladov2020-05-216-34/+60
| |
* | CleanupAleksey Kladov2020-05-213-34/+18
| |
* | Cleanup TextEditAleksey Kladov2020-05-215-18/+21
| |
* | Remove dead code for handling cursor positionsAleksey Kladov2020-05-218-388/+12
| |
* | Transition OnEnter to WorkspaceSnippetEditAleksey Kladov2020-05-214-59/+44
| | | | | | | | | | | | | | | | 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
* | 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).
* | | Remove unused cursor positionsAleksey Kladov2020-05-201-13/+7
| | |
* | | Remove set_cursorAleksey Kladov2020-05-202-31/+13
| | |
* | | Snippetify unwrap -> matchAleksey Kladov2020-05-202-13/+30
| | |
* | | More snippetsAleksey Kladov2020-05-203-23/+17
|/ /
* | Merge #4540bors[bot]2020-05-209-171/+132
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4540: More snippets r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | More snippetsAleksey Kladov2020-05-206-97/+45
| | |
| * | Snippetify introduce/inline varAleksey Kladov2020-05-203-74/+87
| | |
* | | Merge #4526bors[bot]2020-05-201-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4526: Use a flat play icon instead of the blue emoji with test code lens r=kjeremy a=aloucks @lnicola Restores this commit: https://github.com/rust-analyzer/rust-analyzer/commit/55e914a2a179aba63bd9948d6e0cf3e2a4bf5960 That was effectively wiped out by this code formatting commit: https://github.com/rust-analyzer/rust-analyzer/commit/dc217bdf90d555eaa1780041fc3a14e64173994d https://github.com/rust-analyzer/rust-analyzer/commit/3d445256fe56f4a7ead64514fb57b79079973d84 Co-authored-by: Aaron Loucks <[email protected]>
| * | Use a flat play icon instead of the blue emoji with test code lensAaron Loucks2020-05-201-2/+2
| | |
* | | Relax cursor position tests in assistsAleksey Kladov2020-05-2014-117/+96
| | | | | | | | | | | | Those will be replaced with snippets anyway
* | | Snippetify fix_visibilityAleksey Kladov2020-05-202-31/+35
| | |
* | | Snippetify fill_match_armsAleksey Kladov2020-05-202-117/+78
| | |
* | | Don't set cursor in change_visibilityAleksey Kladov2020-05-201-6/+3
| | |
* | | Cleanup importsAleksey Kladov2020-05-201-4/+6
| | |
* | | Split change_ and fix_ visibility assistsAleksey Kladov2020-05-204-506/+581
| | |
* | | Switch to new magic marksAleksey Kladov2020-05-2042-298/+152
| | |
* | | Remove cross-crate marksAleksey Kladov2020-05-207-45/+4
| | | | | | | | | | | | | | | They create quite a bit of friction. Really, we should just move the tests to the same crate, rather than paper over existing split.
* | | Significantly more glorious marksAleksey Kladov2020-05-204-8/+86
| | |
* | | Merge #4530bors[bot]2020-05-206-90/+83
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4530: Use snippets in change_return_type_to_result r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Use snippets in change_return_type_to_resultAleksey Kladov2020-05-202-47/+36
| | | |
| * | | wipAleksey Kladov2020-05-201-4/+8
| | | |
| * | | CleanupAleksey Kladov2020-05-201-12/+10
| | | |
| * | | MinorAleksey Kladov2020-05-201-2/+1
| | | |
| * | | MinorAleksey Kladov2020-05-203-5/+10
| | | |
| * | | Snippetify add_newAleksey Kladov2020-05-202-30/+28
| | | |
* | | | Fix Some|None order in fill_match_armsAleksey Kladov2020-05-203-11/+69
|/ / /
* | | Merge #4505bors[bot]2020-05-204-30/+106
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 4505: Infer return type of loops with value breaks r=flodiebold a=ruabmbua Creates a type variable to represent the return value of the loop. Uses `coerce_merge_branch` on each break with the previous value, to determine the actual return value of the loop. Resolves: https://github.com/rust-analyzer/rust-analyzer/issues/4492 , https://github.com/rust-analyzer/rust-analyzer/issues/4512 Co-authored-by: Roland Ruckerbauer <[email protected]>