aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_assists')
-rw-r--r--crates/ra_assists/src/handlers/inline_local_variable.rs92
-rw-r--r--crates/ra_assists/src/lib.rs8
2 files changed, 52 insertions, 48 deletions
diff --git a/crates/ra_assists/src/handlers/inline_local_variable.rs b/crates/ra_assists/src/handlers/inline_local_variable.rs
index 98e5112df..eb5112343 100644
--- a/crates/ra_assists/src/handlers/inline_local_variable.rs
+++ b/crates/ra_assists/src/handlers/inline_local_variable.rs
@@ -126,7 +126,7 @@ mod tests {
126 fn test_inline_let_bind_literal_expr() { 126 fn test_inline_let_bind_literal_expr() {
127 check_assist( 127 check_assist(
128 inline_local_variable, 128 inline_local_variable,
129 " 129 r"
130fn bar(a: usize) {} 130fn bar(a: usize) {}
131fn foo() { 131fn foo() {
132 let a<|> = 1; 132 let a<|> = 1;
@@ -140,7 +140,7 @@ fn foo() {
140 let b = a * 10; 140 let b = a * 10;
141 bar(a); 141 bar(a);
142}", 142}",
143 " 143 r"
144fn bar(a: usize) {} 144fn bar(a: usize) {}
145fn foo() { 145fn foo() {
146 <|>1 + 1; 146 <|>1 + 1;
@@ -160,7 +160,7 @@ fn foo() {
160 fn test_inline_let_bind_bin_expr() { 160 fn test_inline_let_bind_bin_expr() {
161 check_assist( 161 check_assist(
162 inline_local_variable, 162 inline_local_variable,
163 " 163 r"
164fn bar(a: usize) {} 164fn bar(a: usize) {}
165fn foo() { 165fn foo() {
166 let a<|> = 1 + 1; 166 let a<|> = 1 + 1;
@@ -174,7 +174,7 @@ fn foo() {
174 let b = a * 10; 174 let b = a * 10;
175 bar(a); 175 bar(a);
176}", 176}",
177 " 177 r"
178fn bar(a: usize) {} 178fn bar(a: usize) {}
179fn foo() { 179fn foo() {
180 <|>(1 + 1) + 1; 180 <|>(1 + 1) + 1;
@@ -194,7 +194,7 @@ fn foo() {
194 fn test_inline_let_bind_function_call_expr() { 194 fn test_inline_let_bind_function_call_expr() {
195 check_assist( 195 check_assist(
196 inline_local_variable, 196 inline_local_variable,
197 " 197 r"
198fn bar(a: usize) {} 198fn bar(a: usize) {}
199fn foo() { 199fn foo() {
200 let a<|> = bar(1); 200 let a<|> = bar(1);
@@ -208,7 +208,7 @@ fn foo() {
208 let b = a * 10; 208 let b = a * 10;
209 bar(a); 209 bar(a);
210}", 210}",
211 " 211 r"
212fn bar(a: usize) {} 212fn bar(a: usize) {}
213fn foo() { 213fn foo() {
214 <|>bar(1) + 1; 214 <|>bar(1) + 1;
@@ -228,7 +228,7 @@ fn foo() {
228 fn test_inline_let_bind_cast_expr() { 228 fn test_inline_let_bind_cast_expr() {
229 check_assist( 229 check_assist(
230 inline_local_variable, 230 inline_local_variable,
231 " 231 r"
232fn bar(a: usize): usize { a } 232fn bar(a: usize): usize { a }
233fn foo() { 233fn foo() {
234 let a<|> = bar(1) as u64; 234 let a<|> = bar(1) as u64;
@@ -242,7 +242,7 @@ fn foo() {
242 let b = a * 10; 242 let b = a * 10;
243 bar(a); 243 bar(a);
244}", 244}",
245 " 245 r"
246fn bar(a: usize): usize { a } 246fn bar(a: usize): usize { a }
247fn foo() { 247fn foo() {
248 <|>(bar(1) as u64) + 1; 248 <|>(bar(1) as u64) + 1;
@@ -262,7 +262,7 @@ fn foo() {
262 fn test_inline_let_bind_block_expr() { 262 fn test_inline_let_bind_block_expr() {
263 check_assist( 263 check_assist(
264 inline_local_variable, 264 inline_local_variable,
265 " 265 r"
266fn foo() { 266fn foo() {
267 let a<|> = { 10 + 1 }; 267 let a<|> = { 10 + 1 };
268 a + 1; 268 a + 1;
@@ -275,7 +275,7 @@ fn foo() {
275 let b = a * 10; 275 let b = a * 10;
276 bar(a); 276 bar(a);
277}", 277}",
278 " 278 r"
279fn foo() { 279fn foo() {
280 <|>{ 10 + 1 } + 1; 280 <|>{ 10 + 1 } + 1;
281 if { 10 + 1 } > 10 { 281 if { 10 + 1 } > 10 {
@@ -294,7 +294,7 @@ fn foo() {
294 fn test_inline_let_bind_paren_expr() { 294 fn test_inline_let_bind_paren_expr() {
295 check_assist( 295 check_assist(
296 inline_local_variable, 296 inline_local_variable,
297 " 297 r"
298fn foo() { 298fn foo() {
299 let a<|> = ( 10 + 1 ); 299 let a<|> = ( 10 + 1 );
300 a + 1; 300 a + 1;
@@ -307,7 +307,7 @@ fn foo() {
307 let b = a * 10; 307 let b = a * 10;
308 bar(a); 308 bar(a);
309}", 309}",
310 " 310 r"
311fn foo() { 311fn foo() {
312 <|>( 10 + 1 ) + 1; 312 <|>( 10 + 1 ) + 1;
313 if ( 10 + 1 ) > 10 { 313 if ( 10 + 1 ) > 10 {
@@ -339,13 +339,13 @@ fn foo() {
339 fn test_call_expr() { 339 fn test_call_expr() {
340 check_assist( 340 check_assist(
341 inline_local_variable, 341 inline_local_variable,
342 " 342 r"
343fn foo() { 343fn foo() {
344 let a<|> = bar(10 + 1); 344 let a<|> = bar(10 + 1);
345 let b = a * 10; 345 let b = a * 10;
346 let c = a as usize; 346 let c = a as usize;
347}", 347}",
348 " 348 r"
349fn foo() { 349fn foo() {
350 <|>let b = bar(10 + 1) * 10; 350 <|>let b = bar(10 + 1) * 10;
351 let c = bar(10 + 1) as usize; 351 let c = bar(10 + 1) as usize;
@@ -357,14 +357,14 @@ fn foo() {
357 fn test_index_expr() { 357 fn test_index_expr() {
358 check_assist( 358 check_assist(
359 inline_local_variable, 359 inline_local_variable,
360 " 360 r"
361fn foo() { 361fn foo() {
362 let x = vec![1, 2, 3]; 362 let x = vec![1, 2, 3];
363 let a<|> = x[0]; 363 let a<|> = x[0];
364 let b = a * 10; 364 let b = a * 10;
365 let c = a as usize; 365 let c = a as usize;
366}", 366}",
367 " 367 r"
368fn foo() { 368fn foo() {
369 let x = vec![1, 2, 3]; 369 let x = vec![1, 2, 3];
370 <|>let b = x[0] * 10; 370 <|>let b = x[0] * 10;
@@ -377,14 +377,14 @@ fn foo() {
377 fn test_method_call_expr() { 377 fn test_method_call_expr() {
378 check_assist( 378 check_assist(
379 inline_local_variable, 379 inline_local_variable,
380 " 380 r"
381fn foo() { 381fn foo() {
382 let bar = vec![1]; 382 let bar = vec![1];
383 let a<|> = bar.len(); 383 let a<|> = bar.len();
384 let b = a * 10; 384 let b = a * 10;
385 let c = a as usize; 385 let c = a as usize;
386}", 386}",
387 " 387 r"
388fn foo() { 388fn foo() {
389 let bar = vec![1]; 389 let bar = vec![1];
390 <|>let b = bar.len() * 10; 390 <|>let b = bar.len() * 10;
@@ -397,7 +397,7 @@ fn foo() {
397 fn test_field_expr() { 397 fn test_field_expr() {
398 check_assist( 398 check_assist(
399 inline_local_variable, 399 inline_local_variable,
400 " 400 r"
401struct Bar { 401struct Bar {
402 foo: usize 402 foo: usize
403} 403}
@@ -408,7 +408,7 @@ fn foo() {
408 let b = a * 10; 408 let b = a * 10;
409 let c = a as usize; 409 let c = a as usize;
410}", 410}",
411 " 411 r"
412struct Bar { 412struct Bar {
413 foo: usize 413 foo: usize
414} 414}
@@ -425,7 +425,7 @@ fn foo() {
425 fn test_try_expr() { 425 fn test_try_expr() {
426 check_assist( 426 check_assist(
427 inline_local_variable, 427 inline_local_variable,
428 " 428 r"
429fn foo() -> Option<usize> { 429fn foo() -> Option<usize> {
430 let bar = Some(1); 430 let bar = Some(1);
431 let a<|> = bar?; 431 let a<|> = bar?;
@@ -433,7 +433,7 @@ fn foo() -> Option<usize> {
433 let c = a as usize; 433 let c = a as usize;
434 None 434 None
435}", 435}",
436 " 436 r"
437fn foo() -> Option<usize> { 437fn foo() -> Option<usize> {
438 let bar = Some(1); 438 let bar = Some(1);
439 <|>let b = bar? * 10; 439 <|>let b = bar? * 10;
@@ -447,13 +447,13 @@ fn foo() -> Option<usize> {
447 fn test_ref_expr() { 447 fn test_ref_expr() {
448 check_assist( 448 check_assist(
449 inline_local_variable, 449 inline_local_variable,
450 " 450 r"
451fn foo() { 451fn foo() {
452 let bar = 10; 452 let bar = 10;
453 let a<|> = &bar; 453 let a<|> = &bar;
454 let b = a * 10; 454 let b = a * 10;
455}", 455}",
456 " 456 r"
457fn foo() { 457fn foo() {
458 let bar = 10; 458 let bar = 10;
459 <|>let b = &bar * 10; 459 <|>let b = &bar * 10;
@@ -465,12 +465,12 @@ fn foo() {
465 fn test_tuple_expr() { 465 fn test_tuple_expr() {
466 check_assist( 466 check_assist(
467 inline_local_variable, 467 inline_local_variable,
468 " 468 r"
469fn foo() { 469fn foo() {
470 let a<|> = (10, 20); 470 let a<|> = (10, 20);
471 let b = a[0]; 471 let b = a[0];
472}", 472}",
473 " 473 r"
474fn foo() { 474fn foo() {
475 <|>let b = (10, 20)[0]; 475 <|>let b = (10, 20)[0];
476}", 476}",
@@ -481,12 +481,12 @@ fn foo() {
481 fn test_array_expr() { 481 fn test_array_expr() {
482 check_assist( 482 check_assist(
483 inline_local_variable, 483 inline_local_variable,
484 " 484 r"
485fn foo() { 485fn foo() {
486 let a<|> = [1, 2, 3]; 486 let a<|> = [1, 2, 3];
487 let b = a.len(); 487 let b = a.len();
488}", 488}",
489 " 489 r"
490fn foo() { 490fn foo() {
491 <|>let b = [1, 2, 3].len(); 491 <|>let b = [1, 2, 3].len();
492}", 492}",
@@ -497,13 +497,13 @@ fn foo() {
497 fn test_paren() { 497 fn test_paren() {
498 check_assist( 498 check_assist(
499 inline_local_variable, 499 inline_local_variable,
500 " 500 r"
501fn foo() { 501fn foo() {
502 let a<|> = (10 + 20); 502 let a<|> = (10 + 20);
503 let b = a * 10; 503 let b = a * 10;
504 let c = a as usize; 504 let c = a as usize;
505}", 505}",
506 " 506 r"
507fn foo() { 507fn foo() {
508 <|>let b = (10 + 20) * 10; 508 <|>let b = (10 + 20) * 10;
509 let c = (10 + 20) as usize; 509 let c = (10 + 20) as usize;
@@ -515,14 +515,14 @@ fn foo() {
515 fn test_path_expr() { 515 fn test_path_expr() {
516 check_assist( 516 check_assist(
517 inline_local_variable, 517 inline_local_variable,
518 " 518 r"
519fn foo() { 519fn foo() {
520 let d = 10; 520 let d = 10;
521 let a<|> = d; 521 let a<|> = d;
522 let b = a * 10; 522 let b = a * 10;
523 let c = a as usize; 523 let c = a as usize;
524}", 524}",
525 " 525 r"
526fn foo() { 526fn foo() {
527 let d = 10; 527 let d = 10;
528 <|>let b = d * 10; 528 <|>let b = d * 10;
@@ -535,13 +535,13 @@ fn foo() {
535 fn test_block_expr() { 535 fn test_block_expr() {
536 check_assist( 536 check_assist(
537 inline_local_variable, 537 inline_local_variable,
538 " 538 r"
539fn foo() { 539fn foo() {
540 let a<|> = { 10 }; 540 let a<|> = { 10 };
541 let b = a * 10; 541 let b = a * 10;
542 let c = a as usize; 542 let c = a as usize;
543}", 543}",
544 " 544 r"
545fn foo() { 545fn foo() {
546 <|>let b = { 10 } * 10; 546 <|>let b = { 10 } * 10;
547 let c = { 10 } as usize; 547 let c = { 10 } as usize;
@@ -553,7 +553,7 @@ fn foo() {
553 fn test_used_in_different_expr1() { 553 fn test_used_in_different_expr1() {
554 check_assist( 554 check_assist(
555 inline_local_variable, 555 inline_local_variable,
556 " 556 r"
557fn foo() { 557fn foo() {
558 let a<|> = 10 + 20; 558 let a<|> = 10 + 20;
559 let b = a * 10; 559 let b = a * 10;
@@ -561,7 +561,7 @@ fn foo() {
561 let d = [a, 10]; 561 let d = [a, 10];
562 let e = (a); 562 let e = (a);
563}", 563}",
564 " 564 r"
565fn foo() { 565fn foo() {
566 <|>let b = (10 + 20) * 10; 566 <|>let b = (10 + 20) * 10;
567 let c = (10 + 20, 20); 567 let c = (10 + 20, 20);
@@ -575,12 +575,12 @@ fn foo() {
575 fn test_used_in_for_expr() { 575 fn test_used_in_for_expr() {
576 check_assist( 576 check_assist(
577 inline_local_variable, 577 inline_local_variable,
578 " 578 r"
579fn foo() { 579fn foo() {
580 let a<|> = vec![10, 20]; 580 let a<|> = vec![10, 20];
581 for i in a {} 581 for i in a {}
582}", 582}",
583 " 583 r"
584fn foo() { 584fn foo() {
585 <|>for i in vec![10, 20] {} 585 <|>for i in vec![10, 20] {}
586}", 586}",
@@ -591,12 +591,12 @@ fn foo() {
591 fn test_used_in_while_expr() { 591 fn test_used_in_while_expr() {
592 check_assist( 592 check_assist(
593 inline_local_variable, 593 inline_local_variable,
594 " 594 r"
595fn foo() { 595fn foo() {
596 let a<|> = 1 > 0; 596 let a<|> = 1 > 0;
597 while a {} 597 while a {}
598}", 598}",
599 " 599 r"
600fn foo() { 600fn foo() {
601 <|>while 1 > 0 {} 601 <|>while 1 > 0 {}
602}", 602}",
@@ -607,14 +607,14 @@ fn foo() {
607 fn test_used_in_break_expr() { 607 fn test_used_in_break_expr() {
608 check_assist( 608 check_assist(
609 inline_local_variable, 609 inline_local_variable,
610 " 610 r"
611fn foo() { 611fn foo() {
612 let a<|> = 1 + 1; 612 let a<|> = 1 + 1;
613 loop { 613 loop {
614 break a; 614 break a;
615 } 615 }
616}", 616}",
617 " 617 r"
618fn foo() { 618fn foo() {
619 <|>loop { 619 <|>loop {
620 break 1 + 1; 620 break 1 + 1;
@@ -627,12 +627,12 @@ fn foo() {
627 fn test_used_in_return_expr() { 627 fn test_used_in_return_expr() {
628 check_assist( 628 check_assist(
629 inline_local_variable, 629 inline_local_variable,
630 " 630 r"
631fn foo() { 631fn foo() {
632 let a<|> = 1 > 0; 632 let a<|> = 1 > 0;
633 return a; 633 return a;
634}", 634}",
635 " 635 r"
636fn foo() { 636fn foo() {
637 <|>return 1 > 0; 637 <|>return 1 > 0;
638}", 638}",
@@ -643,12 +643,12 @@ fn foo() {
643 fn test_used_in_match_expr() { 643 fn test_used_in_match_expr() {
644 check_assist( 644 check_assist(
645 inline_local_variable, 645 inline_local_variable,
646 " 646 r"
647fn foo() { 647fn foo() {
648 let a<|> = 1 > 0; 648 let a<|> = 1 > 0;
649 match a {} 649 match a {}
650}", 650}",
651 " 651 r"
652fn foo() { 652fn foo() {
653 <|>match 1 > 0 {} 653 <|>match 1 > 0 {}
654}", 654}",
diff --git a/crates/ra_assists/src/lib.rs b/crates/ra_assists/src/lib.rs
index 6d81a6396..50a15f978 100644
--- a/crates/ra_assists/src/lib.rs
+++ b/crates/ra_assists/src/lib.rs
@@ -178,8 +178,12 @@ mod helpers {
178 (db, file_id) 178 (db, file_id)
179 } 179 }
180 180
181 pub(crate) fn check_assist(assist: AssistHandler, ra_fixture: &str, after: &str) { 181 pub(crate) fn check_assist(
182 check(assist, ra_fixture, ExpectedResult::After(after)); 182 assist: AssistHandler,
183 ra_fixture_before: &str,
184 ra_fixture_after: &str,
185 ) {
186 check(assist, ra_fixture_before, ExpectedResult::After(ra_fixture_after));
183 } 187 }
184 188
185 // FIXME: instead of having a separate function here, maybe use 189 // FIXME: instead of having a separate function here, maybe use