diff options
author | Aleksey Kladov <[email protected]> | 2019-02-18 09:05:16 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-02-18 09:24:20 +0000 |
commit | 92aa0f9c871a9308ea3db1b1c4b7e42d88348e30 (patch) | |
tree | ce785e530a547e3aede708b7725b4a95e666f45f /crates/ra_ide_api/src/completion/complete_postfix.rs | |
parent | 79f35cc6992d18e97b0bb9e309a2dc37f6f286e8 (diff) |
Don't use additional_text_edits API internally
Diffstat (limited to 'crates/ra_ide_api/src/completion/complete_postfix.rs')
-rw-r--r-- | crates/ra_ide_api/src/completion/complete_postfix.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/crates/ra_ide_api/src/completion/complete_postfix.rs b/crates/ra_ide_api/src/completion/complete_postfix.rs index 4ba181720..ce3d6ed3c 100644 --- a/crates/ra_ide_api/src/completion/complete_postfix.rs +++ b/crates/ra_ide_api/src/completion/complete_postfix.rs | |||
@@ -16,15 +16,16 @@ use ra_syntax::{ | |||
16 | use ra_text_edit::TextEditBuilder; | 16 | use ra_text_edit::TextEditBuilder; |
17 | 17 | ||
18 | fn postfix_snippet(ctx: &CompletionContext, label: &str, detail: &str, snippet: &str) -> Builder { | 18 | fn postfix_snippet(ctx: &CompletionContext, label: &str, detail: &str, snippet: &str) -> Builder { |
19 | let replace_range = ctx.source_range(); | 19 | let edit = { |
20 | let receiver_range = ctx.dot_receiver.expect("no receiver available").syntax().range(); | 20 | let receiver_range = ctx.dot_receiver.expect("no receiver available").syntax().range(); |
21 | let delete_range = TextRange::from_to(receiver_range.start(), replace_range.start()); | 21 | let delete_range = TextRange::from_to(receiver_range.start(), ctx.source_range().end()); |
22 | let mut builder = TextEditBuilder::default(); | 22 | let mut builder = TextEditBuilder::default(); |
23 | builder.delete(delete_range); | 23 | builder.replace(delete_range, snippet.to_string()); |
24 | CompletionItem::new(CompletionKind::Postfix, replace_range, label) | 24 | builder.finish() |
25 | .insert_snippet(snippet) | 25 | }; |
26 | CompletionItem::new(CompletionKind::Postfix, ctx.source_range(), label) | ||
26 | .detail(detail) | 27 | .detail(detail) |
27 | .text_edit(builder.finish()) | 28 | .snippet_edit(edit) |
28 | } | 29 | } |
29 | 30 | ||
30 | pub(super) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) { | 31 | pub(super) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) { |