Commit 4d4f119
Merge #6706
6706: Move import text edit calculation into a completion resolve request r=matklad a=SomeoneToIgnore
Part of #6612 (presumably fixing it)
Part of #6366 (does not cover all possible resolve capabilities we can do)
Closes #6594
Further improves imports on completion performance by deferring the computations for import inserts.
To use the new mode, you have to have the experimental completions enabled and use the LSP 3.16-compliant client that reports `additionalTextEdits` in its `CompletionItemCapabilityResolveSupport` field in the client capabilities.
rust-analyzer VSCode extension does this already hence picks up the changes completely.
Performance implications are descrbed in: #6633 (comment)
Co-authored-by: Kirill Bulatov <[email protected]>File tree
17 files changed
+565
-118
lines changed- crates
- completion/src
- completions
- render
- ide_db/src
- ide/src
- rust-analyzer/src
- editors/code
17 files changed
+565
-118
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
76 | 121 | | |
77 | 122 | | |
| 123 | + | |
| 124 | + | |
78 | 125 | | |
79 | 126 | | |
80 | 127 | | |
81 | 128 | | |
82 | | - | |
83 | | - | |
84 | 129 | | |
85 | 130 | | |
86 | 131 | | |
| 132 | + | |
87 | 133 | | |
88 | | - | |
89 | 134 | | |
90 | 135 | | |
91 | 136 | | |
| |||
99 | 144 | | |
100 | 145 | | |
101 | 146 | | |
102 | | - | |
103 | 147 | | |
104 | 148 | | |
105 | 149 | | |
106 | | - | |
107 | | - | |
108 | | - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
109 | 155 | | |
110 | 156 | | |
111 | 157 | | |
| |||
120 | 166 | | |
121 | 167 | | |
122 | 168 | | |
123 | | - | |
124 | | - | |
| 169 | + | |
| 170 | + | |
125 | 171 | | |
126 | 172 | | |
127 | 173 | | |
| |||
730 | 776 | | |
731 | 777 | | |
732 | 778 | | |
733 | | - | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
734 | 786 | | |
735 | 787 | | |
736 | 788 | | |
| |||
755 | 807 | | |
756 | 808 | | |
757 | 809 | | |
758 | | - | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
759 | 817 | | |
760 | 818 | | |
761 | 819 | | |
| |||
782 | 840 | | |
783 | 841 | | |
784 | 842 | | |
785 | | - | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
786 | 850 | | |
787 | 851 | | |
788 | 852 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | | - | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
17 | 32 | | |
18 | 33 | | |
19 | 34 | | |
20 | 35 | | |
21 | 36 | | |
22 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
23 | 44 | | |
24 | 45 | | |
25 | 46 | | |
| |||
31 | 52 | | |
32 | 53 | | |
33 | 54 | | |
34 | | - | |
| 55 | + | |
35 | 56 | | |
36 | 57 | | |
37 | 58 | | |
38 | 59 | | |
| 60 | + | |
39 | 61 | | |
40 | 62 | | |
41 | 63 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
68 | 72 | | |
69 | 73 | | |
70 | 74 | | |
| |||
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
259 | 267 | | |
260 | 268 | | |
261 | 269 | | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
267 | 294 | | |
268 | 295 | | |
269 | 296 | | |
| |||
272 | 299 | | |
273 | 300 | | |
274 | 301 | | |
275 | | - | |
| 302 | + | |
276 | 303 | | |
277 | 304 | | |
278 | 305 | | |
| |||
294 | 321 | | |
295 | 322 | | |
296 | 323 | | |
297 | | - | |
298 | 324 | | |
299 | | - | |
300 | | - | |
301 | | - | |
| 325 | + | |
| 326 | + | |
302 | 327 | | |
303 | 328 | | |
304 | 329 | | |
| |||
310 | 335 | | |
311 | 336 | | |
312 | 337 | | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | 338 | | |
323 | 339 | | |
324 | | - | |
| 340 | + | |
325 | 341 | | |
326 | 342 | | |
327 | 343 | | |
328 | 344 | | |
329 | 345 | | |
330 | 346 | | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | 347 | | |
335 | 348 | | |
336 | 349 | | |
337 | 350 | | |
338 | | - | |
| 351 | + | |
339 | 352 | | |
340 | 353 | | |
341 | 354 | | |
| |||
345 | 358 | | |
346 | 359 | | |
347 | 360 | | |
| 361 | + | |
348 | 362 | | |
349 | 363 | | |
350 | 364 | | |
| |||
407 | 421 | | |
408 | 422 | | |
409 | 423 | | |
410 | | - | |
| 424 | + | |
411 | 425 | | |
412 | 426 | | |
413 | 427 | | |
| |||
0 commit comments