Skip to content

Commit bd6b532

Browse files
bors[bot]matklad
andauthored
Merge #4009
4009: Better snippet when completing trait method r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
2 parents 46105cd + 3b75bc1 commit bd6b532

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

crates/ra_ide/src/completion/complete_trait_impl.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ fn add_function_impl(
142142
CompletionItemKind::Function
143143
};
144144

145-
let snippet = format!("{} {{}}", display);
145+
let snippet = format!("{} {{\n $0\n}}", display);
146146

147147
let range = TextRange::from_to(fn_def_node.text_range().start(), ctx.source_range().end());
148148

149-
builder.text_edit(TextEdit::replace(range, snippet)).kind(completion_kind).add_to(acc);
149+
builder.snippet_edit(TextEdit::replace(range, snippet)).kind(completion_kind).add_to(acc);
150150
}
151151

152152
fn add_type_alias_impl(
@@ -217,9 +217,10 @@ fn make_const_compl_syntax(const_: &ast::ConstDef) -> String {
217217

218218
#[cfg(test)]
219219
mod tests {
220-
use crate::completion::{test_utils::do_completion, CompletionItem, CompletionKind};
221220
use insta::assert_debug_snapshot;
222221

222+
use crate::completion::{test_utils::do_completion, CompletionItem, CompletionKind};
223+
223224
fn complete(code: &str) -> Vec<CompletionItem> {
224225
do_completion(code, CompletionKind::Magic)
225226
}
@@ -255,7 +256,7 @@ mod tests {
255256
label: "fn test()",
256257
source_range: [209; 210),
257258
delete: [209; 210),
258-
insert: "fn test() {}",
259+
insert: "fn test() {\n $0\n}",
259260
kind: Function,
260261
lookup: "test",
261262
},
@@ -313,7 +314,7 @@ mod tests {
313314
label: "fn test()",
314315
source_range: [139; 140),
315316
delete: [139; 140),
316-
insert: "fn test() {}",
317+
insert: "fn test() {\n $0\n}",
317318
kind: Function,
318319
lookup: "test",
319320
},
@@ -342,7 +343,7 @@ mod tests {
342343
label: "fn foo()",
343344
source_range: [141; 142),
344345
delete: [138; 142),
345-
insert: "fn foo() {}",
346+
insert: "fn foo() {\n $0\n}",
346347
kind: Function,
347348
lookup: "foo",
348349
},
@@ -374,7 +375,7 @@ mod tests {
374375
label: "fn foo_bar()",
375376
source_range: [200; 201),
376377
delete: [197; 201),
377-
insert: "fn foo_bar() {}",
378+
insert: "fn foo_bar() {\n $0\n}",
378379
kind: Function,
379380
lookup: "foo_bar",
380381
},
@@ -425,7 +426,7 @@ mod tests {
425426
label: "fn foo()",
426427
source_range: [144; 145),
427428
delete: [141; 145),
428-
insert: "fn foo<T>() {}",
429+
insert: "fn foo<T>() {\n $0\n}",
429430
kind: Function,
430431
lookup: "foo",
431432
},
@@ -454,7 +455,7 @@ mod tests {
454455
label: "fn foo()",
455456
source_range: [166; 167),
456457
delete: [163; 167),
457-
insert: "fn foo<T>()\nwhere T: Into<String> {}",
458+
insert: "fn foo<T>()\nwhere T: Into<String> {\n $0\n}",
458459
kind: Function,
459460
lookup: "foo",
460461
},

0 commit comments

Comments
 (0)