if completion does auto-insertion, indicate this in the label
This commit is contained in:
parent
793f7e69f2
commit
31561b118f
@ -119,27 +119,28 @@ fn foo(self) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "foo",
|
||||
⋮ source_range: [187; 187),
|
||||
⋮ delete: [187; 187),
|
||||
⋮ insert: "foo()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "fn foo(self)",
|
||||
⋮ },
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "the_field",
|
||||
⋮ source_range: [187; 187),
|
||||
⋮ delete: [187; 187),
|
||||
⋮ insert: "the_field",
|
||||
⋮ kind: Field,
|
||||
⋮ detail: "(u32,)",
|
||||
⋮ documentation: Documentation(
|
||||
⋮ "This is the_field",
|
||||
⋮ ),
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo(…)",
|
||||
source_range: [187; 187),
|
||||
delete: [187; 187),
|
||||
insert: "foo()$0",
|
||||
kind: Method,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(self)",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "the_field",
|
||||
source_range: [187; 187),
|
||||
delete: [187; 187),
|
||||
insert: "the_field",
|
||||
kind: Field,
|
||||
detail: "(u32,)",
|
||||
documentation: Documentation(
|
||||
"This is the_field",
|
||||
),
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
@ -158,24 +159,25 @@ fn foo(&self) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "foo",
|
||||
⋮ source_range: [126; 126),
|
||||
⋮ delete: [126; 126),
|
||||
⋮ insert: "foo()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "fn foo(&self)",
|
||||
⋮ },
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "the_field",
|
||||
⋮ source_range: [126; 126),
|
||||
⋮ delete: [126; 126),
|
||||
⋮ insert: "the_field",
|
||||
⋮ kind: Field,
|
||||
⋮ detail: "(u32, i32)",
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo(…)",
|
||||
source_range: [126; 126),
|
||||
delete: [126; 126),
|
||||
insert: "foo()$0",
|
||||
kind: Method,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(&self)",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "the_field",
|
||||
source_range: [126; 126),
|
||||
delete: [126; 126),
|
||||
insert: "the_field",
|
||||
kind: Field,
|
||||
detail: "(u32, i32)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
@ -210,16 +212,17 @@ fn foo(a: A) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "the_method",
|
||||
⋮ source_range: [144; 144),
|
||||
⋮ delete: [144; 144),
|
||||
⋮ insert: "the_method()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "fn the_method(&self)",
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "the_method(…)",
|
||||
source_range: [144; 144),
|
||||
delete: [144; 144),
|
||||
insert: "the_method()$0",
|
||||
kind: Method,
|
||||
lookup: "the_method",
|
||||
detail: "fn the_method(&self)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
@ -238,16 +241,17 @@ fn foo(a: A) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "the_method",
|
||||
⋮ source_range: [151; 151),
|
||||
⋮ delete: [151; 151),
|
||||
⋮ insert: "the_method()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "fn the_method(&self)",
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "the_method(…)",
|
||||
source_range: [151; 151),
|
||||
delete: [151; 151),
|
||||
insert: "the_method()$0",
|
||||
kind: Method,
|
||||
lookup: "the_method",
|
||||
detail: "fn the_method(&self)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
@ -266,16 +270,17 @@ fn foo(a: &A) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "the_method",
|
||||
⋮ source_range: [155; 155),
|
||||
⋮ delete: [155; 155),
|
||||
⋮ insert: "the_method()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "fn the_method(&self)",
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "the_method(…)",
|
||||
source_range: [155; 155),
|
||||
delete: [155; 155),
|
||||
insert: "the_method()$0",
|
||||
kind: Method,
|
||||
lookup: "the_method",
|
||||
detail: "fn the_method(&self)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
@ -317,16 +322,17 @@ fn foo(a: A) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "the_method",
|
||||
⋮ source_range: [249; 249),
|
||||
⋮ delete: [249; 249),
|
||||
⋮ insert: "the_method()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "fn the_method(&self)",
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "the_method(…)",
|
||||
source_range: [249; 249),
|
||||
delete: [249; 249),
|
||||
insert: "the_method()$0",
|
||||
kind: Method,
|
||||
lookup: "the_method",
|
||||
detail: "fn the_method(&self)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
@ -386,16 +392,17 @@ fn foo(&self) {
|
||||
",
|
||||
),
|
||||
@r###"
|
||||
⋮[
|
||||
⋮ CompletionItem {
|
||||
⋮ label: "blah",
|
||||
⋮ source_range: [299; 300),
|
||||
⋮ delete: [299; 300),
|
||||
⋮ insert: "blah()$0",
|
||||
⋮ kind: Method,
|
||||
⋮ detail: "pub fn blah(&self)",
|
||||
⋮ },
|
||||
⋮]
|
||||
[
|
||||
CompletionItem {
|
||||
label: "blah(…)",
|
||||
source_range: [299; 300),
|
||||
delete: [299; 300),
|
||||
insert: "blah()$0",
|
||||
kind: Method,
|
||||
lookup: "blah",
|
||||
detail: "pub fn blah(&self)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
@ -375,19 +375,22 @@ fn m() { }
|
||||
fn foo() { let _ = S::<|> }
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "m",
|
||||
source_range: [100; 100),
|
||||
delete: [100; 100),
|
||||
insert: "m()$0",
|
||||
kind: Function,
|
||||
detail: "fn m()",
|
||||
documentation: Documentation(
|
||||
"An associated method",
|
||||
),
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "m(…)",
|
||||
source_range: [100; 100),
|
||||
delete: [100; 100),
|
||||
insert: "m()$0",
|
||||
kind: Function,
|
||||
lookup: "m",
|
||||
detail: "fn m()",
|
||||
documentation: Documentation(
|
||||
"An associated method",
|
||||
),
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -474,19 +477,22 @@ fn m() { }
|
||||
fn foo() { let _ = S::<|> }
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "m",
|
||||
source_range: [100; 100),
|
||||
delete: [100; 100),
|
||||
insert: "m()$0",
|
||||
kind: Function,
|
||||
detail: "fn m()",
|
||||
documentation: Documentation(
|
||||
"An associated method",
|
||||
),
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "m(…)",
|
||||
source_range: [100; 100),
|
||||
delete: [100; 100),
|
||||
insert: "m()$0",
|
||||
kind: Function,
|
||||
lookup: "m",
|
||||
detail: "fn m()",
|
||||
documentation: Documentation(
|
||||
"An associated method",
|
||||
),
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -507,19 +513,22 @@ fn m() { }
|
||||
fn foo() { let _ = U::<|> }
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "m",
|
||||
source_range: [101; 101),
|
||||
delete: [101; 101),
|
||||
insert: "m()$0",
|
||||
kind: Function,
|
||||
detail: "fn m()",
|
||||
documentation: Documentation(
|
||||
"An associated method",
|
||||
),
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "m(…)",
|
||||
source_range: [101; 101),
|
||||
delete: [101; 101),
|
||||
insert: "m()$0",
|
||||
kind: Function,
|
||||
lookup: "m",
|
||||
detail: "fn m()",
|
||||
documentation: Documentation(
|
||||
"An associated method",
|
||||
),
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -564,24 +573,28 @@ fn main() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "bar",
|
||||
source_range: [185; 185),
|
||||
delete: [185; 185),
|
||||
insert: "bar()$0",
|
||||
kind: Function,
|
||||
detail: "fn bar()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
source_range: [185; 185),
|
||||
delete: [185; 185),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
detail: "fn foo()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "bar(…)",
|
||||
source_range: [185; 185),
|
||||
delete: [185; 185),
|
||||
insert: "bar()$0",
|
||||
kind: Function,
|
||||
lookup: "bar",
|
||||
detail: "fn bar()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo(…)",
|
||||
source_range: [185; 185),
|
||||
delete: [185; 185),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -600,24 +613,27 @@ fn main() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [179; 179),
|
||||
delete: [179; 179),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "#[macro_export]\nmacro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main",
|
||||
source_range: [179; 179),
|
||||
delete: [179; 179),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
detail: "fn main()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [179; 179),
|
||||
delete: [179; 179),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "#[macro_export]\nmacro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main(…)",
|
||||
source_range: [179; 179),
|
||||
delete: [179; 179),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
lookup: "main",
|
||||
detail: "fn main()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -145,32 +145,35 @@ fn quux(x: i32) {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "quux",
|
||||
source_range: [91; 91),
|
||||
delete: [91; 91),
|
||||
insert: "quux($0)",
|
||||
kind: Function,
|
||||
detail: "fn quux(x: i32)",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "x",
|
||||
source_range: [91; 91),
|
||||
delete: [91; 91),
|
||||
insert: "x",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "y",
|
||||
source_range: [91; 91),
|
||||
delete: [91; 91),
|
||||
insert: "y",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "quux(…)",
|
||||
source_range: [91; 91),
|
||||
delete: [91; 91),
|
||||
insert: "quux($0)",
|
||||
kind: Function,
|
||||
lookup: "quux",
|
||||
detail: "fn quux(x: i32)",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "x",
|
||||
source_range: [91; 91),
|
||||
delete: [91; 91),
|
||||
insert: "x",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "y",
|
||||
source_range: [91; 91),
|
||||
delete: [91; 91),
|
||||
insert: "y",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -190,31 +193,34 @@ fn quux() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "a",
|
||||
source_range: [242; 242),
|
||||
delete: [242; 242),
|
||||
insert: "a",
|
||||
kind: Binding,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "b",
|
||||
source_range: [242; 242),
|
||||
delete: [242; 242),
|
||||
insert: "b",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux",
|
||||
source_range: [242; 242),
|
||||
delete: [242; 242),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
detail: "fn quux()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "a",
|
||||
source_range: [242; 242),
|
||||
delete: [242; 242),
|
||||
insert: "a",
|
||||
kind: Binding,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "b",
|
||||
source_range: [242; 242),
|
||||
delete: [242; 242),
|
||||
insert: "b",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux(…)",
|
||||
source_range: [242; 242),
|
||||
delete: [242; 242),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
lookup: "quux",
|
||||
detail: "fn quux()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -230,23 +236,26 @@ fn quux() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "quux",
|
||||
source_range: [95; 95),
|
||||
delete: [95; 95),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
detail: "fn quux()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "x",
|
||||
source_range: [95; 95),
|
||||
delete: [95; 95),
|
||||
insert: "x",
|
||||
kind: Binding,
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "quux(…)",
|
||||
source_range: [95; 95),
|
||||
delete: [95; 95),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
lookup: "quux",
|
||||
detail: "fn quux()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "x",
|
||||
source_range: [95; 95),
|
||||
delete: [95; 95),
|
||||
insert: "x",
|
||||
kind: Binding,
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -260,23 +269,26 @@ fn quux<T>() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "T",
|
||||
source_range: [52; 52),
|
||||
delete: [52; 52),
|
||||
insert: "T",
|
||||
kind: TypeParam,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux",
|
||||
source_range: [52; 52),
|
||||
delete: [52; 52),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
detail: "fn quux<T>()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "T",
|
||||
source_range: [52; 52),
|
||||
delete: [52; 52),
|
||||
insert: "T",
|
||||
kind: TypeParam,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux(…)",
|
||||
source_range: [52; 52),
|
||||
delete: [52; 52),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
lookup: "quux",
|
||||
detail: "fn quux<T>()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -300,11 +312,12 @@ struct X<T> {
|
||||
kind: TypeParam,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "X",
|
||||
label: "X<…>",
|
||||
source_range: [54; 54),
|
||||
delete: [54; 54),
|
||||
insert: "X<$0>",
|
||||
kind: Struct,
|
||||
lookup: "X",
|
||||
},
|
||||
]
|
||||
"###
|
||||
@ -354,30 +367,33 @@ fn quux() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "Baz",
|
||||
source_range: [105; 105),
|
||||
delete: [105; 105),
|
||||
insert: "Baz",
|
||||
kind: Enum,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "Foo",
|
||||
source_range: [105; 105),
|
||||
delete: [105; 105),
|
||||
insert: "Foo",
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux",
|
||||
source_range: [105; 105),
|
||||
delete: [105; 105),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
detail: "fn quux()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "Baz",
|
||||
source_range: [105; 105),
|
||||
delete: [105; 105),
|
||||
insert: "Baz",
|
||||
kind: Enum,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "Foo",
|
||||
source_range: [105; 105),
|
||||
delete: [105; 105),
|
||||
insert: "Foo",
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux(…)",
|
||||
source_range: [105; 105),
|
||||
delete: [105; 105),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
lookup: "quux",
|
||||
detail: "fn quux()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -417,23 +433,26 @@ fn quux() { <|> }
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "Bar",
|
||||
source_range: [117; 117),
|
||||
delete: [117; 117),
|
||||
insert: "Bar",
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux",
|
||||
source_range: [117; 117),
|
||||
delete: [117; 117),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
detail: "fn quux()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "Bar",
|
||||
source_range: [117; 117),
|
||||
delete: [117; 117),
|
||||
insert: "Bar",
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "quux(…)",
|
||||
source_range: [117; 117),
|
||||
delete: [117; 117),
|
||||
insert: "quux()$0",
|
||||
kind: Function,
|
||||
lookup: "quux",
|
||||
detail: "fn quux()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -456,11 +475,12 @@ fn x() -> <|>
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "x",
|
||||
label: "x(…)",
|
||||
source_range: [55; 55),
|
||||
delete: [55; 55),
|
||||
insert: "x()$0",
|
||||
kind: Function,
|
||||
lookup: "x",
|
||||
detail: "fn x()",
|
||||
},
|
||||
]
|
||||
@ -482,24 +502,27 @@ fn foo() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "bar",
|
||||
source_range: [146; 146),
|
||||
delete: [146; 146),
|
||||
insert: "bar",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
source_range: [146; 146),
|
||||
delete: [146; 146),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
detail: "fn foo()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "bar",
|
||||
source_range: [146; 146),
|
||||
delete: [146; 146),
|
||||
insert: "bar",
|
||||
kind: Binding,
|
||||
detail: "i32",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo(…)",
|
||||
source_range: [146; 146),
|
||||
delete: [146; 146),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -554,11 +577,12 @@ mod prelude {
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
label: "foo(…)",
|
||||
source_range: [18; 18),
|
||||
delete: [18; 18),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo()",
|
||||
},
|
||||
CompletionItem {
|
||||
@ -606,54 +630,57 @@ fn main() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r##"[
|
||||
CompletionItem {
|
||||
label: "bar!",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "bar!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! bar",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "baz!",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "baz!($0)",
|
||||
kind: Macro,
|
||||
detail: "#[macro_export]\nmacro_rules! baz",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "m1",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "m1",
|
||||
kind: Module,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "m2",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "m2",
|
||||
kind: Module,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
detail: "fn main()",
|
||||
},
|
||||
]"##
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "bar!",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "bar!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! bar",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "baz!",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "baz!($0)",
|
||||
kind: Macro,
|
||||
detail: "#[macro_export]\nmacro_rules! baz",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "m1",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "m1",
|
||||
kind: Module,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "m2",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "m2",
|
||||
kind: Module,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main(…)",
|
||||
source_range: [252; 252),
|
||||
delete: [252; 252),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
lookup: "main",
|
||||
detail: "fn main()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -672,24 +699,27 @@ fn foo() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r##"[
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
source_range: [49; 49),
|
||||
delete: [49; 49),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
detail: "fn foo()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [49; 49),
|
||||
delete: [49; 49),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
]"##
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [49; 49),
|
||||
delete: [49; 49),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo(…)",
|
||||
source_range: [49; 49),
|
||||
delete: [49; 49),
|
||||
insert: "foo()$0",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -708,24 +738,27 @@ fn main() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r##"[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [57; 57),
|
||||
delete: [57; 57),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main",
|
||||
source_range: [57; 57),
|
||||
delete: [57; 57),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
detail: "fn main()",
|
||||
},
|
||||
]"##
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [57; 57),
|
||||
delete: [57; 57),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main(…)",
|
||||
source_range: [57; 57),
|
||||
delete: [57; 57),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
lookup: "main",
|
||||
detail: "fn main()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -744,24 +777,27 @@ fn main() {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r##"[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [50; 50),
|
||||
delete: [50; 50),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main",
|
||||
source_range: [50; 50),
|
||||
delete: [50; 50),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
detail: "fn main()",
|
||||
},
|
||||
]"##
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo!",
|
||||
source_range: [50; 50),
|
||||
delete: [50; 50),
|
||||
insert: "foo!($0)",
|
||||
kind: Macro,
|
||||
detail: "macro_rules! foo",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "main(…)",
|
||||
source_range: [50; 50),
|
||||
delete: [50; 50),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
lookup: "main",
|
||||
detail: "fn main()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -216,6 +216,10 @@ pub(crate) fn lookup_by(mut self, lookup: impl Into<String>) -> Builder {
|
||||
self.lookup = Some(lookup.into());
|
||||
self
|
||||
}
|
||||
pub(crate) fn label(mut self, label: impl Into<String>) -> Builder {
|
||||
self.label = label.into();
|
||||
self
|
||||
}
|
||||
pub(crate) fn insert_text(mut self, insert_text: impl Into<String>) -> Builder {
|
||||
self.insert_text = Some(insert_text.into());
|
||||
self
|
||||
|
@ -116,7 +116,10 @@ pub(crate) fn add_resolution(
|
||||
if let Some(def) = generic_def {
|
||||
if has_non_default_type_params(def, ctx.db) {
|
||||
tested_by!(inserts_angle_brackets_for_generics);
|
||||
completion_item = completion_item.insert_snippet(format!("{}<$0>", local_name));
|
||||
completion_item = completion_item
|
||||
.lookup_by(local_name.clone())
|
||||
.label(format!("{}<…>", local_name))
|
||||
.insert_snippet(format!("{}<$0>", local_name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -169,14 +172,15 @@ fn add_function_with_name(
|
||||
let ast_node = func.source(ctx.db).ast;
|
||||
let detail = function_label(&ast_node);
|
||||
|
||||
let mut builder = CompletionItem::new(CompletionKind::Reference, ctx.source_range(), name)
|
||||
.kind(if data.has_self_param() {
|
||||
CompletionItemKind::Method
|
||||
} else {
|
||||
CompletionItemKind::Function
|
||||
})
|
||||
.set_documentation(func.docs(ctx.db))
|
||||
.detail(detail);
|
||||
let mut builder =
|
||||
CompletionItem::new(CompletionKind::Reference, ctx.source_range(), name.clone())
|
||||
.kind(if data.has_self_param() {
|
||||
CompletionItemKind::Method
|
||||
} else {
|
||||
CompletionItemKind::Function
|
||||
})
|
||||
.set_documentation(func.docs(ctx.db))
|
||||
.detail(detail);
|
||||
|
||||
// Add `<>` for generic types
|
||||
if ctx.use_item_syntax.is_none()
|
||||
@ -190,7 +194,10 @@ fn add_function_with_name(
|
||||
} else {
|
||||
format!("{}($0)", data.name())
|
||||
};
|
||||
builder = builder.insert_snippet(snippet);
|
||||
builder = builder
|
||||
.lookup_by(name.clone())
|
||||
.label(format!("{}(…)", name))
|
||||
.insert_snippet(snippet);
|
||||
}
|
||||
|
||||
self.add(builder)
|
||||
@ -269,24 +276,28 @@ fn no_args() {}
|
||||
fn main() { no_<|> }
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "main",
|
||||
source_range: [61; 64),
|
||||
delete: [61; 64),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
detail: "fn main()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "no_args",
|
||||
source_range: [61; 64),
|
||||
delete: [61; 64),
|
||||
insert: "no_args()$0",
|
||||
kind: Function,
|
||||
detail: "fn no_args()",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "main(…)",
|
||||
source_range: [61; 64),
|
||||
delete: [61; 64),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
lookup: "main",
|
||||
detail: "fn main()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "no_args(…)",
|
||||
source_range: [61; 64),
|
||||
delete: [61; 64),
|
||||
insert: "no_args()$0",
|
||||
kind: Function,
|
||||
lookup: "no_args",
|
||||
detail: "fn no_args()",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
assert_debug_snapshot!(
|
||||
do_reference_completion(
|
||||
@ -295,24 +306,28 @@ fn with_args(x: i32, y: String) {}
|
||||
fn main() { with_<|> }
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "main",
|
||||
source_range: [80; 85),
|
||||
delete: [80; 85),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
detail: "fn main()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "with_args",
|
||||
source_range: [80; 85),
|
||||
delete: [80; 85),
|
||||
insert: "with_args($0)",
|
||||
kind: Function,
|
||||
detail: "fn with_args(x: i32, y: String)",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "main(…)",
|
||||
source_range: [80; 85),
|
||||
delete: [80; 85),
|
||||
insert: "main()$0",
|
||||
kind: Function,
|
||||
lookup: "main",
|
||||
detail: "fn main()",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "with_args(…)",
|
||||
source_range: [80; 85),
|
||||
delete: [80; 85),
|
||||
insert: "with_args($0)",
|
||||
kind: Function,
|
||||
lookup: "with_args",
|
||||
detail: "fn with_args(x: i32, y: String)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
assert_debug_snapshot!(
|
||||
do_reference_completion(
|
||||
@ -326,16 +341,19 @@ fn bar(s: &S) {
|
||||
}
|
||||
"
|
||||
),
|
||||
@r###"[
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
source_range: [163; 164),
|
||||
delete: [163; 164),
|
||||
insert: "foo()$0",
|
||||
kind: Method,
|
||||
detail: "fn foo(&self)",
|
||||
},
|
||||
]"###
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "foo(…)",
|
||||
source_range: [163; 164),
|
||||
delete: [163; 164),
|
||||
insert: "foo()$0",
|
||||
kind: Method,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(&self)",
|
||||
},
|
||||
]
|
||||
"###
|
||||
);
|
||||
}
|
||||
|
||||
@ -430,18 +448,20 @@ fn foo(xs: Ve<|>)
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "Vec",
|
||||
label: "Vec<…>",
|
||||
source_range: [61; 63),
|
||||
delete: [61; 63),
|
||||
insert: "Vec<$0>",
|
||||
kind: Struct,
|
||||
lookup: "Vec",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
label: "foo(…)",
|
||||
source_range: [61; 63),
|
||||
delete: [61; 63),
|
||||
insert: "foo($0)",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(xs: Ve)",
|
||||
},
|
||||
]
|
||||
@ -457,18 +477,20 @@ fn foo(xs: Ve<|>)
|
||||
@r###"
|
||||
[
|
||||
CompletionItem {
|
||||
label: "Vec",
|
||||
label: "Vec<…>",
|
||||
source_range: [64; 66),
|
||||
delete: [64; 66),
|
||||
insert: "Vec<$0>",
|
||||
kind: TypeAlias,
|
||||
lookup: "Vec",
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
label: "foo(…)",
|
||||
source_range: [64; 66),
|
||||
delete: [64; 66),
|
||||
insert: "foo($0)",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(xs: Ve)",
|
||||
},
|
||||
]
|
||||
@ -491,11 +513,12 @@ fn foo(xs: Ve<|>)
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
label: "foo(…)",
|
||||
source_range: [68; 70),
|
||||
delete: [68; 70),
|
||||
insert: "foo($0)",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(xs: Ve)",
|
||||
},
|
||||
]
|
||||
@ -518,11 +541,12 @@ fn foo(xs: Ve<|><i128>)
|
||||
kind: Struct,
|
||||
},
|
||||
CompletionItem {
|
||||
label: "foo",
|
||||
label: "foo(…)",
|
||||
source_range: [61; 63),
|
||||
delete: [61; 63),
|
||||
insert: "foo($0)",
|
||||
kind: Function,
|
||||
lookup: "foo",
|
||||
detail: "fn foo(xs: Ve<i128>)",
|
||||
},
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user