aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_ide/src/completion/presentation.rs72
1 files changed, 65 insertions, 7 deletions
diff --git a/crates/ra_ide/src/completion/presentation.rs b/crates/ra_ide/src/completion/presentation.rs
index 6b29f58d5..5708ff291 100644
--- a/crates/ra_ide/src/completion/presentation.rs
+++ b/crates/ra_ide/src/completion/presentation.rs
@@ -641,7 +641,7 @@ mod tests {
641 assert_debug_snapshot!( 641 assert_debug_snapshot!(
642 do_reference_completion( 642 do_reference_completion(
643 r" 643 r"
644 fn with_args(x: i32, y: String, _z: bool) {} 644 fn with_args(x: i32, y: String) {}
645 fn main() { with_<|> } 645 fn main() { with_<|> }
646 " 646 "
647 ), 647 ),
@@ -649,8 +649,8 @@ mod tests {
649 [ 649 [
650 CompletionItem { 650 CompletionItem {
651 label: "main()", 651 label: "main()",
652 source_range: 90..95, 652 source_range: 80..85,
653 delete: 90..95, 653 delete: 80..85,
654 insert: "main()$0", 654 insert: "main()$0",
655 kind: Function, 655 kind: Function,
656 lookup: "main", 656 lookup: "main",
@@ -658,12 +658,43 @@ mod tests {
658 }, 658 },
659 CompletionItem { 659 CompletionItem {
660 label: "with_args(…)", 660 label: "with_args(…)",
661 source_range: 90..95, 661 source_range: 80..85,
662 delete: 90..95, 662 delete: 80..85,
663 insert: "with_args(${1:x}, ${2:y}, ${3:z})$0", 663 insert: "with_args(${1:x}, ${2:y})$0",
664 kind: Function, 664 kind: Function,
665 lookup: "with_args", 665 lookup: "with_args",
666 detail: "fn with_args(x: i32, y: String, _z: bool)", 666 detail: "fn with_args(x: i32, y: String)",
667 trigger_call_info: true,
668 },
669 ]
670 "###
671 );
672 assert_debug_snapshot!(
673 do_reference_completion(
674 r"
675 fn with_ignored_args(_foo: i32, b_a_r_: bool) {}
676 fn main() { with_<|> }
677 "
678 ),
679 @r###"
680 [
681 CompletionItem {
682 label: "main()",
683 source_range: 94..99,
684 delete: 94..99,
685 insert: "main()$0",
686 kind: Function,
687 lookup: "main",
688 detail: "fn main()",
689 },
690 CompletionItem {
691 label: "with_ignored_args(…)",
692 source_range: 94..99,
693 delete: 94..99,
694 insert: "with_ignored_args(${1:foo}, ${2:b_a_r_})$0",
695 kind: Function,
696 lookup: "with_ignored_args",
697 detail: "fn with_ignored_args(_foo: i32, b_a_r_: bool)",
667 trigger_call_info: true, 698 trigger_call_info: true,
668 }, 699 },
669 ] 700 ]
@@ -695,6 +726,33 @@ mod tests {
695 ] 726 ]
696 "### 727 "###
697 ); 728 );
729 assert_debug_snapshot!(
730 do_reference_completion(
731 r"
732 struct S {}
733 impl S {
734 fn foo_ignored_args(&self, _a: bool, b: i32) {}
735 }
736 fn bar(s: &S) {
737 s.f<|>
738 }
739 "
740 ),
741 @r###"
742 [
743 CompletionItem {
744 label: "foo_ignored_args(…)",
745 source_range: 194..195,
746 delete: 194..195,
747 insert: "foo_ignored_args(${1:a}, ${2:b})$0",
748 kind: Method,
749 lookup: "foo_ignored_args",
750 detail: "fn foo_ignored_args(&self, _a: bool, b: i32)",
751 trigger_call_info: true,
752 },
753 ]
754 "###
755 );
698 } 756 }
699 757
700 #[test] 758 #[test]