Commit graph

14576 commits

Author SHA1 Message Date
Aleksey Kladov
0a570eddd2 Less annoying mod completion
We shouldn't complete optional elements, as deleting stuff is much more
annoying than adding it.
2021-01-17 13:18:45 +03:00
bors[bot]
44a995dd43
Merge #7305
7305: ⬆️ arena r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-17 08:43:34 +00:00
Aleksey Kladov
1c8feac01f ⬆️ arena 2021-01-17 11:43:04 +03:00
bors[bot]
93e1896049
Merge #7275
7275: Make arena index vs ID naming consistent r=matklad a=arzg

This makes naming consistent with `la_arena::RawId`. Alternatively, la-arena’s documentation could be updated to use ‘index’ terminology instead of ‘ID’ terminology, and `RawId` renamed to `RawIdx`.

This pull request doesn’t compile because dependencies on la-arena go through crates.io, so existing dependencies on the crate are referencing an old version. As such, this PR will only compile once a new la-arena version has been published.

Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2021-01-17 08:01:20 +00:00
Aramis Razzaghipour
1d103cf087
Use ‘index’ terminology for arena consistently 2021-01-17 18:38:08 +11:00
bors[bot]
3224ecea87
Merge #7276
7276: Remove map module from la-arena public API r=lnicola a=arzg

It’s unlikely that more items will be added to the module, so it’s simpler for users if `ArenaMap` is re-exported and the module made private.

This doesn’t compile for the same reason that #7275 doesn’t:

> This pull request doesn’t compile because dependencies on la-arena go through crates.io, so existing dependencies on the crate are referencing an old version. As such, this PR will only compile once a new la-arena version has been published.

Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2021-01-17 07:20:36 +00:00
bors[bot]
f5f011ba71
Merge #7304
7304: Depend on local copy of la-arena instead of crates.io’s r=lnicola a=arzg

This addresses [this comment](https://github.com/rust-analyzer/rust-analyzer/pull/7276#issuecomment-760909936). #7275 and #7276 should start compiling if this is merged.

Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2021-01-17 07:05:44 +00:00
Aramis Razzaghipour
709034d123
Depend on local copy of la-arena instead of crates.io’s 2021-01-17 17:52:57 +11:00
Kirill Bulatov
d1ac3293f4 Properly resolve completion edits for empty input 2021-01-17 02:57:38 +02:00
Kirill Bulatov
09c11054a1 Do trait solving in batch 2021-01-17 02:57:38 +02:00
Kirill Bulatov
68626e4ef5 Draft the working completion 2021-01-17 02:57:34 +02:00
bors[bot]
0976a1ec8a
Merge #7300
7300: When building an item-tree, keep fewer nodes in memory r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-16 20:08:10 +00:00
Aleksey Kladov
b38414c7f4 When building an item-tree, keep fewer nodes in memory 2021-01-16 23:07:28 +03:00
Kirill Bulatov
db335a1bbf Add flyimport completion for trait assoc items 2021-01-16 20:44:12 +02:00
bors[bot]
397b5e5d8e
Merge #7296
7296: Simpler and faster rowan r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-16 18:37:56 +00:00
Aleksey Kladov
842ed790ea Simpler and faster rowan
This removes thread-local syntax node caching, which improves perf a
bunch
2021-01-16 21:36:01 +03:00
bors[bot]
9a349f280f
Merge #7295
7295: Share import_assets and related entities r=matklad a=SomeoneToIgnore

Part of https://github.com/rust-analyzer/rust-analyzer/pull/7293
Addresses https://github.com/rust-analyzer/rust-analyzer/pull/7293#issuecomment-761569558

Prepares `import_assets` and related to be used later for the trait fuzzy importing.
Also moves fuzzy imports into a separate completion module and renames them, as suggested in https://github.com/rust-analyzer/rust-analyzer/pull/7293#discussion_r558896685

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2021-01-16 17:52:29 +00:00
Kirill Bulatov
497fc232e7 Unindent the test 2021-01-16 19:51:42 +02:00
Kirill Bulatov
7ae1309ac5 Use specific kind for the flyimport completions 2021-01-16 19:40:59 +02:00
Kirill Bulatov
6742f38e49 Share import_assets and related entities 2021-01-16 19:33:36 +02:00
yugo-horie
f273995a25 Swap assert_eq_text\!(expected, actual) 2021-01-16 13:30:26 +09:00
Lukas Wirth
98718e0544 Wrap remaining self/super/crate in Name{Ref} 2021-01-15 22:18:43 +01:00
bors[bot]
3782c78d75
Merge #7290
7290: Add test mark for skipping single use item in Unmerge use assist r=Veykril a=unexge

followup for https://github.com/rust-analyzer/rust-analyzer/pull/7289

Co-authored-by: unexge <unexge@gmail.com>
2021-01-15 21:06:19 +00:00
unexge
cbe9335954 Add test mark for skipping single use item 2021-01-15 22:57:10 +03:00
bors[bot]
d93d3d6d73
Merge #7289
7289: Add Unmerge Use assist r=matklad a=unexge

Closes https://github.com/rust-analyzer/rust-analyzer/issues/7185

Co-authored-by: unexge <unexge@gmail.com>
2021-01-15 19:43:59 +00:00
unexge
c303014f39 Create new nodes only when applying changes 2021-01-15 22:35:42 +03:00
unexge
a3a722de9f Add Unmerge Use assist 2021-01-15 22:14:51 +03:00
bors[bot]
8a869e870a
Merge #7288
7288: Handle self/super/crate in PathSegment as NameRef r=matklad a=Veykril

Wrapping self/super/crate in NameRef as per https://github.com/rust-analyzer/rust-analyzer/pull/7261#issuecomment-760023172



Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-15 18:40:47 +00:00
Lukas Wirth
cb863390f2 Handle self/super/crate in PathSegment as NameRef 2021-01-15 19:21:23 +01:00
bors[bot]
148e3d0f6a
Merge #7287
7287: Make SyntaxPtr lookup logarithmic r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-15 17:46:36 +00:00
Aleksey Kladov
26ef7e39f4 Make SyntaxPtr lookup logarithmic
closes #3934

cc https://github.com/rust-analyzer/rowan/pull/81
2021-01-15 20:40:40 +03:00
bors[bot]
92c0379560
Merge #7285
7285: Don't duplicate rustc diagnostics fixes r=matklad a=jonas-schievink

Should fix https://github.com/rust-analyzer/rust-analyzer/issues/6851

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-15 17:34:31 +00:00
bors[bot]
a8587f153b
Merge #7286
7286: Remove useless wrapper r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-15 17:16:27 +00:00
Aleksey Kladov
6dbba4d75d Remove useless wrapper 2021-01-15 20:15:33 +03:00
Jonas Schievink
36500fe496 Don't duplicate rustc diagnostics fixes 2021-01-15 18:11:54 +01:00
bors[bot]
0c58aa9dc0
Merge #7209
7209: Support yield keyword r=Veykril a=sasurau4

Part of #4309 
The inference of yield will be implemented at another PR.

Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
2021-01-15 14:48:21 +00:00
Daiki Ihara
138514bea2 Add test for yield_expr 2021-01-15 23:35:17 +09:00
Daiki Ihara
85cd3524e2 Add support for yiled keyword 2021-01-15 23:35:17 +09:00
Daiki Ihara
d9b1fa6da3 Upgrade ungrammar to v1.7 2021-01-15 23:35:17 +09:00
bors[bot]
d6a708b1ea
Merge #7281
7281: Insert `;` when completing keywords in let r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-15 12:51:20 +00:00
Aleksey Kladov
f2ba2048d1 Insert ; when completing keywords in let 2021-01-15 15:49:59 +03:00
Aleksey Kladov
41ea260201 Simplify 2021-01-15 15:14:31 +03:00
Aleksey Kladov
9b1bc19d67 Add braces when completing ifs 2021-01-15 15:01:32 +03:00
bors[bot]
054e206152
Merge #7272
7272: Group file source edits by FileId r=matklad a=Veykril



Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-15 09:43:08 +00:00
bors[bot]
dc48de28d8
Merge #7278
7278: bump arena r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-15 08:36:26 +00:00
Aleksey Kladov
5c66053bd1 bump arena 2021-01-15 11:35:55 +03:00
Aleksey Kladov
b3b6e56222 bump arena 2021-01-15 11:31:29 +03:00
bors[bot]
986e8e9e5a
Merge #7274
7274: Flesh out la-arena crate r=lnicola a=arzg

As requested in #7267, I’ve added some basic documentation and added more keys to the crate’s `Cargo.toml`.

Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2021-01-15 08:18:22 +00:00
Aramis Razzaghipour
9b5ba090db
Remove map module from la-arena public API
It’s unlikely that more items will be added to the module,
so it’s simpler for users if `ArenaMap` is re-exported
and the module made private.
2021-01-15 11:14:04 +11:00
Aramis Razzaghipour
a45099ee3e
Add more keys to la-arena Cargo.toml 2021-01-15 10:53:35 +11:00