diff options
Diffstat (limited to 'crates/ra_ide_api/src/inlay_hints.rs')
-rw-r--r-- | crates/ra_ide_api/src/inlay_hints.rs | 314 |
1 files changed, 162 insertions, 152 deletions
diff --git a/crates/ra_ide_api/src/inlay_hints.rs b/crates/ra_ide_api/src/inlay_hints.rs index f1c0dc164..2ff10b89a 100644 --- a/crates/ra_ide_api/src/inlay_hints.rs +++ b/crates/ra_ide_api/src/inlay_hints.rs | |||
@@ -214,58 +214,60 @@ fn main() { | |||
214 | }"#, | 214 | }"#, |
215 | ); | 215 | ); |
216 | 216 | ||
217 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r#"[ | 217 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" |
218 | InlayHint { | 218 | [ |
219 | range: [193; 197), | 219 | InlayHint { |
220 | kind: TypeHint, | 220 | range: [193; 197), |
221 | label: "i32", | 221 | kind: TypeHint, |
222 | }, | 222 | label: "i32", |
223 | InlayHint { | 223 | }, |
224 | range: [236; 244), | 224 | InlayHint { |
225 | kind: TypeHint, | 225 | range: [236; 244), |
226 | label: "i32", | 226 | kind: TypeHint, |
227 | }, | 227 | label: "i32", |
228 | InlayHint { | 228 | }, |
229 | range: [275; 279), | 229 | InlayHint { |
230 | kind: TypeHint, | 230 | range: [275; 279), |
231 | label: "&str", | 231 | kind: TypeHint, |
232 | }, | 232 | label: "&str", |
233 | InlayHint { | 233 | }, |
234 | range: [539; 543), | 234 | InlayHint { |
235 | kind: TypeHint, | 235 | range: [539; 543), |
236 | label: "(i32, char)", | 236 | kind: TypeHint, |
237 | }, | 237 | label: "(i32, char)", |
238 | InlayHint { | 238 | }, |
239 | range: [566; 567), | 239 | InlayHint { |
240 | kind: TypeHint, | 240 | range: [566; 567), |
241 | label: "i32", | 241 | kind: TypeHint, |
242 | }, | 242 | label: "i32", |
243 | InlayHint { | 243 | }, |
244 | range: [570; 571), | 244 | InlayHint { |
245 | kind: TypeHint, | 245 | range: [570; 571), |
246 | label: "i32", | 246 | kind: TypeHint, |
247 | }, | 247 | label: "i32", |
248 | InlayHint { | 248 | }, |
249 | range: [573; 574), | 249 | InlayHint { |
250 | kind: TypeHint, | 250 | range: [573; 574), |
251 | label: "i32", | 251 | kind: TypeHint, |
252 | }, | 252 | label: "i32", |
253 | InlayHint { | 253 | }, |
254 | range: [584; 585), | 254 | InlayHint { |
255 | kind: TypeHint, | 255 | range: [584; 585), |
256 | label: "i32", | 256 | kind: TypeHint, |
257 | }, | 257 | label: "i32", |
258 | InlayHint { | 258 | }, |
259 | range: [577; 578), | 259 | InlayHint { |
260 | kind: TypeHint, | 260 | range: [577; 578), |
261 | label: "f64", | 261 | kind: TypeHint, |
262 | }, | 262 | label: "f64", |
263 | InlayHint { | 263 | }, |
264 | range: [580; 581), | 264 | InlayHint { |
265 | kind: TypeHint, | 265 | range: [580; 581), |
266 | label: "f64", | 266 | kind: TypeHint, |
267 | }, | 267 | label: "f64", |
268 | ]"# | 268 | }, |
269 | ] | ||
270 | "### | ||
269 | ); | 271 | ); |
270 | } | 272 | } |
271 | 273 | ||
@@ -281,18 +283,20 @@ fn main() { | |||
281 | }"#, | 283 | }"#, |
282 | ); | 284 | ); |
283 | 285 | ||
284 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r#"[ | 286 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" |
285 | InlayHint { | 287 | [ |
286 | range: [21; 30), | 288 | InlayHint { |
287 | kind: TypeHint, | 289 | range: [21; 30), |
288 | label: "i32", | 290 | kind: TypeHint, |
289 | }, | 291 | label: "i32", |
290 | InlayHint { | 292 | }, |
291 | range: [57; 66), | 293 | InlayHint { |
292 | kind: TypeHint, | 294 | range: [57; 66), |
293 | label: "i32", | 295 | kind: TypeHint, |
294 | }, | 296 | label: "i32", |
295 | ]"# | 297 | }, |
298 | ] | ||
299 | "### | ||
296 | ); | 300 | ); |
297 | } | 301 | } |
298 | 302 | ||
@@ -308,18 +312,20 @@ fn main() { | |||
308 | }"#, | 312 | }"#, |
309 | ); | 313 | ); |
310 | 314 | ||
311 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r#"[ | 315 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" |
312 | InlayHint { | 316 | [ |
313 | range: [21; 30), | 317 | InlayHint { |
314 | kind: TypeHint, | 318 | range: [21; 30), |
315 | label: "i32", | 319 | kind: TypeHint, |
316 | }, | 320 | label: "i32", |
317 | InlayHint { | 321 | }, |
318 | range: [44; 53), | 322 | InlayHint { |
319 | kind: TypeHint, | 323 | range: [44; 53), |
320 | label: "i32", | 324 | kind: TypeHint, |
321 | }, | 325 | label: "i32", |
322 | ]"# | 326 | }, |
327 | ] | ||
328 | "### | ||
323 | ); | 329 | ); |
324 | } | 330 | } |
325 | 331 | ||
@@ -354,33 +360,35 @@ fn main() { | |||
354 | }"#, | 360 | }"#, |
355 | ); | 361 | ); |
356 | 362 | ||
357 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r#"[ | 363 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" |
358 | InlayHint { | 364 | [ |
359 | range: [166; 170), | 365 | InlayHint { |
360 | kind: TypeHint, | 366 | range: [166; 170), |
361 | label: "CustomOption<Test>", | 367 | kind: TypeHint, |
362 | }, | 368 | label: "CustomOption<Test>", |
363 | InlayHint { | 369 | }, |
364 | range: [334; 338), | 370 | InlayHint { |
365 | kind: TypeHint, | 371 | range: [334; 338), |
366 | label: "&Test", | 372 | kind: TypeHint, |
367 | }, | 373 | label: "&Test", |
368 | InlayHint { | 374 | }, |
369 | range: [389; 390), | 375 | InlayHint { |
370 | kind: TypeHint, | 376 | range: [389; 390), |
371 | label: "&CustomOption<u32>", | 377 | kind: TypeHint, |
372 | }, | 378 | label: "&CustomOption<u32>", |
373 | InlayHint { | 379 | }, |
374 | range: [392; 393), | 380 | InlayHint { |
375 | kind: TypeHint, | 381 | range: [392; 393), |
376 | label: "&u8", | 382 | kind: TypeHint, |
377 | }, | 383 | label: "&u8", |
378 | InlayHint { | 384 | }, |
379 | range: [531; 532), | 385 | InlayHint { |
380 | kind: TypeHint, | 386 | range: [531; 532), |
381 | label: "&u32", | 387 | kind: TypeHint, |
382 | }, | 388 | label: "&u32", |
383 | ]"# | 389 | }, |
390 | ] | ||
391 | "### | ||
384 | ); | 392 | ); |
385 | } | 393 | } |
386 | 394 | ||
@@ -416,33 +424,33 @@ fn main() { | |||
416 | ); | 424 | ); |
417 | 425 | ||
418 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" | 426 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" |
419 | ⋮[ | 427 | [ |
420 | ⋮ InlayHint { | 428 | InlayHint { |
421 | ⋮ range: [166; 170), | 429 | range: [166; 170), |
422 | ⋮ kind: TypeHint, | 430 | kind: TypeHint, |
423 | ⋮ label: "CustomOption<Test>", | 431 | label: "CustomOption<Test>", |
424 | ⋮ }, | 432 | }, |
425 | ⋮ InlayHint { | 433 | InlayHint { |
426 | ⋮ range: [343; 347), | 434 | range: [343; 347), |
427 | ⋮ kind: TypeHint, | 435 | kind: TypeHint, |
428 | ⋮ label: "&Test", | 436 | label: "&Test", |
429 | ⋮ }, | 437 | }, |
430 | ⋮ InlayHint { | 438 | InlayHint { |
431 | ⋮ range: [401; 402), | 439 | range: [401; 402), |
432 | ⋮ kind: TypeHint, | 440 | kind: TypeHint, |
433 | ⋮ label: "&CustomOption<u32>", | 441 | label: "&CustomOption<u32>", |
434 | ⋮ }, | 442 | }, |
435 | ⋮ InlayHint { | 443 | InlayHint { |
436 | ⋮ range: [404; 405), | 444 | range: [404; 405), |
437 | ⋮ kind: TypeHint, | 445 | kind: TypeHint, |
438 | ⋮ label: "&u8", | 446 | label: "&u8", |
439 | ⋮ }, | 447 | }, |
440 | ⋮ InlayHint { | 448 | InlayHint { |
441 | ⋮ range: [549; 550), | 449 | range: [549; 550), |
442 | ⋮ kind: TypeHint, | 450 | kind: TypeHint, |
443 | ⋮ label: "&u32", | 451 | label: "&u32", |
444 | ⋮ }, | 452 | }, |
445 | ⋮] | 453 | ] |
446 | "### | 454 | "### |
447 | ); | 455 | ); |
448 | } | 456 | } |
@@ -478,28 +486,30 @@ fn main() { | |||
478 | }"#, | 486 | }"#, |
479 | ); | 487 | ); |
480 | 488 | ||
481 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r#"[ | 489 | assert_debug_snapshot!(analysis.inlay_hints(file_id).unwrap(), @r###" |
482 | InlayHint { | 490 | [ |
483 | range: [311; 315), | 491 | InlayHint { |
484 | kind: TypeHint, | 492 | range: [311; 315), |
485 | label: "Test", | 493 | kind: TypeHint, |
486 | }, | 494 | label: "Test", |
487 | InlayHint { | 495 | }, |
488 | range: [358; 359), | 496 | InlayHint { |
489 | kind: TypeHint, | 497 | range: [358; 359), |
490 | label: "CustomOption<u32>", | 498 | kind: TypeHint, |
491 | }, | 499 | label: "CustomOption<u32>", |
492 | InlayHint { | 500 | }, |
493 | range: [361; 362), | 501 | InlayHint { |
494 | kind: TypeHint, | 502 | range: [361; 362), |
495 | label: "u8", | 503 | kind: TypeHint, |
496 | }, | 504 | label: "u8", |
497 | InlayHint { | 505 | }, |
498 | range: [484; 485), | 506 | InlayHint { |
499 | kind: TypeHint, | 507 | range: [484; 485), |
500 | label: "u32", | 508 | kind: TypeHint, |
501 | }, | 509 | label: "u32", |
502 | ]"# | 510 | }, |
511 | ] | ||
512 | "### | ||
503 | ); | 513 | ); |
504 | } | 514 | } |
505 | } | 515 | } |