]> git.lizzy.rs Git - rust.git/commitdiff
use a combination of `source_change` and `text_edit` for `CompleteItem`
authorgfreezy <gfreezy@gmail.com>
Sun, 20 Jan 2019 04:02:00 +0000 (12:02 +0800)
committergfreezy <gfreezy@gmail.com>
Sun, 20 Jan 2019 04:02:00 +0000 (12:02 +0800)
48 files changed:
crates/ra_ide_api/src/completion/complete_dot.rs
crates/ra_ide_api/src/completion/complete_fn_param.rs
crates/ra_ide_api/src/completion/complete_keyword.rs
crates/ra_ide_api/src/completion/complete_path.rs
crates/ra_ide_api/src/completion/complete_scope.rs
crates/ra_ide_api/src/completion/complete_snippet.rs
crates/ra_ide_api/src/completion/completion_context.rs
crates/ra_ide_api/src/completion/completion_item.rs
crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_for.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_if_let.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_let.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__completes_break_and_continue_in_loops1.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__completes_break_and_continue_in_loops2.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__deeply_nested_use_tree.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__dont_add_semi_after_return_if_not_a_statement.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__dont_render_function_parens_if_already_call.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__dont_render_function_parens_in_use_item.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__dont_show_both_completions_for_shadowing.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__inserts_parens_for_function_calls1.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__inserts_parens_for_function_calls2.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_function1.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_function2.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_function3.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_function4.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_use_stmt1.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_use_stmt2.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__keywords_in_use_stmt3.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__last_return_in_block_has_semi1.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__last_return_in_block_has_semi2.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__method_completion.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__module_items.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__module_items_in_nested_modules.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__nested_use_tree.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__no_semi_after_break_continue_in_expr.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__param_completion_last_param.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__param_completion_nth_param.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__param_completion_trait_param.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__reference_completion.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__return_type.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__self_in_methods.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__snippets_in_expressions.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__snippets_in_items.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__struct_field_completion.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__struct_field_completion_autoderef.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__struct_field_completion_self.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__use_item_starting_with_crate.snap
crates/ra_ide_api/src/completion/snapshots/completion_item__use_item_starting_with_self.snap
crates/ra_lsp_server/src/conv.rs

index e1c0d26c7d1640379723e715127e0949b2ef924c..fb8b2fc88e0721bb78f6b0a791f74c7191eac83b 100644 (file)
@@ -31,7 +31,7 @@ fn complete_fields(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty)
                         for field in s.fields(ctx.db) {
                             CompletionItem::new(
                                 CompletionKind::Reference,
-                                ctx.leaf_range(),
+                                ctx.source_range(),
                                 field.name().to_string(),
                             )
                             .kind(CompletionItemKind::Field)
@@ -45,9 +45,13 @@ fn complete_fields(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty)
             }
             Ty::Tuple(fields) => {
                 for (i, _ty) in fields.iter().enumerate() {
-                    CompletionItem::new(CompletionKind::Reference, ctx.leaf_range(), i.to_string())
-                        .kind(CompletionItemKind::Field)
-                        .add_to(acc);
+                    CompletionItem::new(
+                        CompletionKind::Reference,
+                        ctx.source_range(),
+                        i.to_string(),
+                    )
+                    .kind(CompletionItemKind::Field)
+                    .add_to(acc);
                 }
             }
             _ => {}
@@ -61,7 +65,7 @@ fn complete_methods(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty
         if sig.has_self_param() {
             CompletionItem::new(
                 CompletionKind::Reference,
-                ctx.leaf_range(),
+                ctx.source_range(),
                 sig.name().to_string(),
             )
             .from_function(ctx, func)
index c3e3ea93100ddea8cb380eed6e9d23375fe9bda6..8d4df4ea15c2c0fee8196572db6913a068934499 100644 (file)
@@ -34,7 +34,7 @@ pub(super) fn complete_fn_param(acc: &mut Completions, ctx: &CompletionContext)
             }
         })
         .for_each(|(label, lookup)| {
-            CompletionItem::new(CompletionKind::Magic, ctx.leaf_range(), label)
+            CompletionItem::new(CompletionKind::Magic, ctx.source_range(), label)
                 .lookup_by(lookup)
                 .add_to(acc)
         });
index 006b200765686f8da3a5398246a9873d90cf5838..10ae01bc598441e52fe5798c4a5c53fd198191a8 100644 (file)
@@ -9,26 +9,26 @@
 
 pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionContext) {
     // complete keyword "crate" in use stmt
-    let leaf_range = ctx.leaf_range();
+    let source_range = ctx.source_range();
     match (ctx.use_item_syntax.as_ref(), ctx.path_prefix.as_ref()) {
         (Some(_), None) => {
-            CompletionItem::new(CompletionKind::Keyword, leaf_range, "crate")
+            CompletionItem::new(CompletionKind::Keyword, source_range, "crate")
                 .kind(CompletionItemKind::Keyword)
                 .insert_text("crate::")
                 .add_to(acc);
-            CompletionItem::new(CompletionKind::Keyword, leaf_range, "self")
+            CompletionItem::new(CompletionKind::Keyword, source_range, "self")
                 .kind(CompletionItemKind::Keyword)
                 .add_to(acc);
-            CompletionItem::new(CompletionKind::Keyword, leaf_range, "super")
+            CompletionItem::new(CompletionKind::Keyword, source_range, "super")
                 .kind(CompletionItemKind::Keyword)
                 .insert_text("super::")
                 .add_to(acc);
         }
         (Some(_), Some(_)) => {
-            CompletionItem::new(CompletionKind::Keyword, leaf_range, "self")
+            CompletionItem::new(CompletionKind::Keyword, source_range, "self")
                 .kind(CompletionItemKind::Keyword)
                 .add_to(acc);
-            CompletionItem::new(CompletionKind::Keyword, leaf_range, "super")
+            CompletionItem::new(CompletionKind::Keyword, source_range, "super")
                 .kind(CompletionItemKind::Keyword)
                 .insert_text("super::")
                 .add_to(acc);
@@ -38,7 +38,7 @@ pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionC
 }
 
 fn keyword(ctx: &CompletionContext, kw: &str, snippet: &str) -> CompletionItem {
-    CompletionItem::new(CompletionKind::Keyword, ctx.leaf_range(), kw)
+    CompletionItem::new(CompletionKind::Keyword, ctx.source_range(), kw)
         .kind(CompletionItemKind::Keyword)
         .snippet(snippet)
         .build()
index 513a2ee89c83351fc754ff8537893dbf112b5d38..804954ee16ce8e2fcfca2df835a5ebfd94ca8f4b 100644 (file)
@@ -17,7 +17,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) {
             for (name, res) in module_scope.entries() {
                 CompletionItem::new(
                     CompletionKind::Reference,
-                    ctx.leaf_range(),
+                    ctx.source_range(),
                     name.to_string(),
                 )
                 .from_resolution(ctx, res)
@@ -30,7 +30,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) {
                 .for_each(|(variant_name, _variant)| {
                     CompletionItem::new(
                         CompletionKind::Reference,
-                        ctx.leaf_range(),
+                        ctx.source_range(),
                         variant_name.to_string(),
                     )
                     .kind(CompletionItemKind::EnumVariant)
index 958a12f226b61e44a0123284f1e6ac8df9f5aeca..20fc77f06e2897cb248514246f6b8737dd07f2c0 100644 (file)
@@ -31,7 +31,7 @@ pub(super) fn complete_scope(acc: &mut Completions, ctx: &CompletionContext) {
         .for_each(|(name, res)| {
             CompletionItem::new(
                 CompletionKind::Reference,
-                ctx.leaf_range(),
+                ctx.source_range(),
                 name.to_string(),
             )
             .from_resolution(ctx, res)
@@ -52,7 +52,7 @@ fn complete_fn(
         .for_each(|entry| {
             CompletionItem::new(
                 CompletionKind::Reference,
-                ctx.leaf_range(),
+                ctx.source_range(),
                 entry.name().to_string(),
             )
             .kind(CompletionItemKind::Binding)
index 4fa23bbf6f0f8a8701df2945f8a598c43b469688..d3344b865b33d5aca730f8ada8c1abe69fe9366f 100644 (file)
@@ -1,7 +1,7 @@
 use crate::completion::{CompletionItem, Completions, CompletionKind, CompletionItemKind, CompletionContext, completion_item::Builder};
 
 fn snippet(ctx: &CompletionContext, label: &str, snippet: &str) -> Builder {
-    CompletionItem::new(CompletionKind::Snippet, ctx.leaf_range(), label)
+    CompletionItem::new(CompletionKind::Snippet, ctx.source_range(), label)
         .snippet(snippet)
         .kind(CompletionItemKind::Snippet)
 }
index de9b95c81f0a990aeee723d95b25492f990afc43..fd4cfc9449553b9bd18108fdaa8550a0d8d628e0 100644 (file)
@@ -65,7 +65,10 @@ pub(super) fn new(
         Some(ctx)
     }
 
-    pub(crate) fn leaf_range(&self) -> TextRange {
+    // The range of the identifier that is being completed.
+    // This is purely advisory and can be used, for example, to highlight this range in the editor.
+    // Clients are expected to ignore this field.
+    pub(crate) fn source_range(&self) -> TextRange {
         self.leaf.range()
     }
 
index da8da94d1ec5b673ce85e9d6bc2228033abe8788..f46d9e5812560e060cf8f148b1a94297d36c1be7 100644 (file)
@@ -2,6 +2,7 @@
 
 use crate::completion::completion_context::CompletionContext;
 use ra_syntax::TextRange;
+use ra_text_edit::TextEdit;
 
 /// `CompletionItem` describes a single completion variant in the editor pop-up.
 /// It is basically a POD with various properties. To construct a
@@ -17,8 +18,8 @@ pub struct CompletionItem {
     lookup: Option<String>,
     insert_text: Option<String>,
     insert_text_format: InsertTextFormat,
-    replace_range: TextRange,
-    delete_range: Option<TextRange>,
+    source_range: TextRange,
+    text_edit: Option<TextEdit>,
 }
 
 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
@@ -64,7 +65,7 @@ pub(crate) fn new(
     ) -> Builder {
         let label = label.into();
         Builder {
-            replace_range,
+            source_range: replace_range,
             completion_kind,
             label,
             insert_text: None,
@@ -72,7 +73,7 @@ pub(crate) fn new(
             detail: None,
             lookup: None,
             kind: None,
-            delete_range: None,
+            text_edit: None,
         }
     }
     /// What user sees in pop-up in the UI.
@@ -103,18 +104,18 @@ pub fn insert_text(&self) -> String {
     pub fn kind(&self) -> Option<CompletionItemKind> {
         self.kind
     }
-    pub fn delete_range(&self) -> Option<TextRange> {
-        self.delete_range
+    pub fn take_text_edit(&mut self) -> Option<TextEdit> {
+        self.text_edit.take()
     }
-    pub fn replace_range(&self) -> TextRange {
-        self.replace_range
+    pub fn source_range(&self) -> TextRange {
+        self.source_range
     }
 }
 
 /// A helper to make `CompletionItem`s.
 #[must_use]
 pub(crate) struct Builder {
-    replace_range: TextRange,
+    source_range: TextRange,
     completion_kind: CompletionKind,
     label: String,
     insert_text: Option<String>,
@@ -122,7 +123,7 @@ pub(crate) struct Builder {
     detail: Option<String>,
     lookup: Option<String>,
     kind: Option<CompletionItemKind>,
-    delete_range: Option<TextRange>,
+    text_edit: Option<TextEdit>,
 }
 
 impl Builder {
@@ -132,14 +133,14 @@ pub(crate) fn add_to(self, acc: &mut Completions) {
 
     pub(crate) fn build(self) -> CompletionItem {
         CompletionItem {
-            replace_range: self.replace_range,
+            source_range: self.source_range,
             label: self.label,
             detail: self.detail,
             insert_text_format: self.insert_text_format,
             lookup: self.lookup,
             kind: self.kind,
             completion_kind: self.completion_kind,
-            delete_range: self.delete_range,
+            text_edit: self.text_edit,
             insert_text: self.insert_text,
         }
     }
@@ -165,6 +166,11 @@ pub(crate) fn kind(mut self, kind: CompletionItemKind) -> Builder {
         self
     }
     #[allow(unused)]
+    pub(crate) fn text_edit(mut self, edit: TextEdit) -> Builder {
+        self.text_edit = Some(edit);
+        self
+    }
+    #[allow(unused)]
     pub(crate) fn detail(self, detail: impl Into<String>) -> Builder {
         self.set_detail(Some(detail))
     }
index ff8646ab208b7274dc3d005b8bc2d382096e160c..132048d9c4a5f6e58900d14daf983db9645bb128 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.674785+00:00
+Created: 2019-01-20T04:00:48.241096+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "quux()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     }
 ]
index 2176af32d8d8306a92aa194b856f38f184f25ebb..e7b628f19f92c52d9804b4afc7b7aff543ee2463 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.676585+00:00
+Created: 2019-01-20T04:00:48.242456+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [213; 231),
-        delete_range: None
+        source_range: [213; 231),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -26,8 +26,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [213; 231),
-        delete_range: None
+        source_range: [213; 231),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -41,7 +41,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "quux()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [213; 231),
-        delete_range: None
+        source_range: [213; 231),
+        text_edit: None
     }
 ]
index 49745745dc7a1ea86d4516f510ebfc84cbb4ca09..403fe0c4c8222764286d805f9805836e82caf836 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.676674+00:00
+Created: 2019-01-20T04:00:48.243016+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [78; 79),
-        delete_range: None
+        source_range: [78; 79),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -26,8 +26,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [78; 79),
-        delete_range: None
+        source_range: [78; 79),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -41,7 +41,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "quux($0)"
         ),
         insert_text_format: Snippet,
-        replace_range: [78; 79),
-        delete_range: None
+        source_range: [78; 79),
+        text_edit: None
     }
 ]
index c8a0a78aab66d0dc96df3111d7e01370941129bd..413960191bcf167c9d94bb11f60a75285d8ef247 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.630898+00:00
+Created: 2019-01-20T04:00:48.206357+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,8 +75,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "continue;"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -90,8 +90,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "break;"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -105,7 +105,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return $0;"
         ),
         insert_text_format: Snippet,
-        replace_range: [54; 56),
-        delete_range: None
+        source_range: [54; 56),
+        text_edit: None
     }
 ]
index 707021e21257654e0279e5498ab4fead78d62f7c..dc2fc95e321179c5d5a6c2892754b2124f89a805 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.647435+00:00
+Created: 2019-01-20T04:00:48.217822+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [59; 61),
-        delete_range: None
+        source_range: [59; 61),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [59; 61),
-        delete_range: None
+        source_range: [59; 61),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [59; 61),
-        delete_range: None
+        source_range: [59; 61),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [59; 61),
-        delete_range: None
+        source_range: [59; 61),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return $0;"
         ),
         insert_text_format: Snippet,
-        replace_range: [59; 61),
-        delete_range: None
+        source_range: [59; 61),
+        text_edit: None
     }
 ]
index a65ab3cc0083db19d1fa396fe44b985d9b506e63..26ca189338beada167f8cddb151de9a4921a8348 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.649286+00:00
+Created: 2019-01-20T04:00:48.217724+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [23; 25),
-        delete_range: None
+        source_range: [23; 25),
+        text_edit: None
     }
 ]
index a935b06f4e5e0d3bc0b41f49435da1be1d2a3250..f5ae8c29f6b6e8830cc5390f1b2181f4e724740b 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.640573+00:00
+Created: 2019-01-20T04:00:48.208392+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [84; 102),
-        delete_range: None
+        source_range: [84; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [84; 102),
-        delete_range: None
+        source_range: [84; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [84; 102),
-        delete_range: None
+        source_range: [84; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [84; 102),
-        delete_range: None
+        source_range: [84; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return $0"
         ),
         insert_text_format: Snippet,
-        replace_range: [84; 102),
-        delete_range: None
+        source_range: [84; 102),
+        text_edit: None
     }
 ]
index abc01d4d610327f4c2e0afd398a37a50ff3fc29c..88c9287fd1b1a4e6693d7e6526fcddcfaa511946 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.670539+00:00
+Created: 2019-01-20T04:00:48.239872+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [35; 39),
-        delete_range: None
+        source_range: [35; 39),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [35; 39),
-        delete_range: None
+        source_range: [35; 39),
+        text_edit: None
     }
 ]
index 2d3234b2c24026e7c2c7c580a2d450f932838f90..33286e68ba8f62eccca6bb01700d693d64cd6038 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.671764+00:00
+Created: 2019-01-20T04:00:48.239894+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [40; 41),
-        delete_range: None
+        source_range: [40; 41),
+        text_edit: None
     }
 ]
index 6e4817d1a6d02a50320dc4849ab49d826e0477ea..2db0eb7558bcf6173b44b2a8c227dcf0bcb43a0d 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.680378+00:00
+Created: 2019-01-20T04:00:48.248606+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [108; 146),
-        delete_range: None
+        source_range: [108; 146),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "foo()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [108; 146),
-        delete_range: None
+        source_range: [108; 146),
+        text_edit: None
     }
 ]
index 4ec75e2ca48503e4eb6a93edb3ea9dc8dfa61a7d..7ae216cd269c100cc9180b38104048d51bb1415f 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.681170+00:00
+Created: 2019-01-20T04:00:48.249349+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "no_args()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [53; 56),
-        delete_range: None
+        source_range: [53; 56),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "main()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [53; 56),
-        delete_range: None
+        source_range: [53; 56),
+        text_edit: None
     }
 ]
index 11a8f175722580201ffe3936849443e706601fae..231d75d7a4256c9652894d28d71ba495c87c3f41 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.686781+00:00
+Created: 2019-01-20T04:00:48.255317+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "main()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [72; 77),
-        delete_range: None
+        source_range: [72; 77),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "with_args($0)"
         ),
         insert_text_format: Snippet,
-        replace_range: [72; 77),
-        delete_range: None
+        source_range: [72; 77),
+        text_edit: None
     }
 ]
index 02e88a96e0b9bcf1298815baab40af5936a272be..4d309b20e3fe88560d1911c99fc5379a06bba082 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.640068+00:00
+Created: 2019-01-20T04:00:48.207728+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 54),
-        delete_range: None
+        source_range: [24; 54),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 54),
-        delete_range: None
+        source_range: [24; 54),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 54),
-        delete_range: None
+        source_range: [24; 54),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 54),
-        delete_range: None
+        source_range: [24; 54),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return;"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 54),
-        delete_range: None
+        source_range: [24; 54),
+        text_edit: None
     }
 ]
index 41dc288f6c6162ce060c4b2317c3e421f858480c..0f1e66ac3c636cd8eee2781604ebf5e031b20287 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.640134+00:00
+Created: 2019-01-20T04:00:48.207381+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,8 +75,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "else {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -90,8 +90,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "else if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -105,7 +105,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return;"
         ),
         insert_text_format: Snippet,
-        replace_range: [91; 105),
-        delete_range: None
+        source_range: [91; 105),
+        text_edit: None
     }
 ]
index 6cbed012f864bf8d52737845e1101ce28fef7108..25c29dc18ce4929352dd27298b3928f25bfeb7b0 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.640767+00:00
+Created: 2019-01-20T04:00:48.211090+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [31; 65),
-        delete_range: None
+        source_range: [31; 65),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [31; 65),
-        delete_range: None
+        source_range: [31; 65),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [31; 65),
-        delete_range: None
+        source_range: [31; 65),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [31; 65),
-        delete_range: None
+        source_range: [31; 65),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return $0;"
         ),
         insert_text_format: Snippet,
-        replace_range: [31; 65),
-        delete_range: None
+        source_range: [31; 65),
+        text_edit: None
     }
 ]
index b95cb72c11bbaec09c694d71f4a9f54398c11084..7e43be4b0ece85f3c0d3f2c17d101c431fbb85f2 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.664707+00:00
+Created: 2019-01-20T04:00:48.218272+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 58),
-        delete_range: None
+        source_range: [24; 58),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 58),
-        delete_range: None
+        source_range: [24; 58),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 58),
-        delete_range: None
+        source_range: [24; 58),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 58),
-        delete_range: None
+        source_range: [24; 58),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return;"
         ),
         insert_text_format: Snippet,
-        replace_range: [24; 58),
-        delete_range: None
+        source_range: [24; 58),
+        text_edit: None
     }
 ]
index d53c9e72f2b601c5944194865568b1a62f4d4bd8..7ed890b74ab74de3d767435685728df474ea1770 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.639067+00:00
+Created: 2019-01-20T04:00:48.207433+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "crate::"
         ),
         insert_text_format: PlainText,
-        replace_range: [16; 30),
-        delete_range: None
+        source_range: [16; 30),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -28,8 +28,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [16; 30),
-        delete_range: None
+        source_range: [16; 30),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -43,7 +43,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "super::"
         ),
         insert_text_format: PlainText,
-        replace_range: [16; 30),
-        delete_range: None
+        source_range: [16; 30),
+        text_edit: None
     }
 ]
index fee3b6e3b0271651aa6b28f0700a052439291d4d..8d33629ed6916f84dd49aa81b8c3d4bb3bb9d270 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.643595+00:00
+Created: 2019-01-20T04:00:48.214287+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [18; 20),
-        delete_range: None
+        source_range: [18; 20),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "super::"
         ),
         insert_text_format: PlainText,
-        replace_range: [18; 20),
-        delete_range: None
+        source_range: [18; 20),
+        text_edit: None
     }
 ]
index 2181d6c8b2a039149f860a806134bcfad12b2df1..66ab20f4196ee85b723cb7d35d84aad52794029f 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.648502+00:00
+Created: 2019-01-20T04:00:48.217815+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [23; 24),
-        delete_range: None
+        source_range: [23; 24),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "super::"
         ),
         insert_text_format: PlainText,
-        replace_range: [23; 24),
-        delete_range: None
+        source_range: [23; 24),
+        text_edit: None
     }
 ]
index 6da2c0ea98185f42f72796df0ddf6a67b54c1516..2dc47e9b1f6d61fc27dad6f415c94dd00e4c09a2 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.640449+00:00
+Created: 2019-01-20T04:00:48.208669+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return $0;"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     }
 ]
index 33bc4bb518423248f71ebd6b5c27d908c43dcb46..59e11c585e0821d7aea450825502c7e693578ff3 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.649440+00:00
+Created: 2019-01-20T04:00:48.221138+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return $0;"
         ),
         insert_text_format: Snippet,
-        replace_range: [62; 100),
-        delete_range: None
+        source_range: [62; 100),
+        text_edit: None
     }
 ]
index 9081bd50db5490b9ef1c6f67044273f814470171..44624473e532144971ec91807080fc6d462cff21 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.629020+00:00
+Created: 2019-01-20T04:00:48.203164+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,7 +15,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "the_method($0)"
         ),
         insert_text_format: Snippet,
-        replace_range: [143; 144),
-        delete_range: None
+        source_range: [143; 144),
+        text_edit: None
     }
 ]
index be75ec0b55cb417eca5a51231c6ec6bb3e6bebe5..9ebb8a3579f86f3c71063ee38643d200425e9ac9 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.676740+00:00
+Created: 2019-01-20T04:00:48.243581+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "quux()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [72; 102),
-        delete_range: None
+        source_range: [72; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -28,8 +28,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [72; 102),
-        delete_range: None
+        source_range: [72; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -41,7 +41,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [72; 102),
-        delete_range: None
+        source_range: [72; 102),
+        text_edit: None
     }
 ]
index 8277a6191fc6c18a100c1453b42ca0ddb2bfe372..9b7aa05400757e6e76464d685d8f6901dc697376 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.677905+00:00
+Created: 2019-01-20T04:00:48.244757+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "quux()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [100; 102),
-        delete_range: None
+        source_range: [100; 102),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [100; 102),
-        delete_range: None
+        source_range: [100; 102),
+        text_edit: None
     }
 ]
index bb2830737c3315f8caffa3e85956498fd00de88f..555f7acc67146dbdc06799ea5e77a6c46c2e53a8 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.666350+00:00
+Created: 2019-01-20T04:00:48.222109+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [12; 14),
-        delete_range: None
+        source_range: [12; 14),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [12; 14),
-        delete_range: None
+        source_range: [12; 14),
+        text_edit: None
     }
 ]
index 8bcf60fa8bb90723c6799dd519439f41e50627d6..fd56a6c8c0b73e4b0bacaf054be360b8c34b362b 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.640842+00:00
+Created: 2019-01-20T04:00:48.209867+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "if $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "match $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "while $0 {}"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "loop {$0}"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -75,8 +75,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "continue"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -90,8 +90,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "break"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Keyword,
@@ -105,7 +105,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "return"
         ),
         insert_text_format: Snippet,
-        replace_range: [106; 108),
-        delete_range: None
+        source_range: [106; 108),
+        text_edit: None
     }
 ]
index 67a07512965327219ad80ff9e5eaae230bf36c05..e0e5929ffb512ef7fad9f6356c97fefa1aa29a33 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.629063+00:00
+Created: 2019-01-20T04:00:48.203211+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         ),
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [98; 102),
-        delete_range: None
+        source_range: [98; 102),
+        text_edit: None
     }
 ]
index 7f349ea160cd8a99cc4d7929032c6966b4ea457d..2899cf98e540a5282399f4bfe8f2a11b67e4e256 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.629062+00:00
+Created: 2019-01-20T04:00:48.203236+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         ),
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [98; 102),
-        delete_range: None
+        source_range: [98; 102),
+        text_edit: None
     }
 ]
index 8aa07e2bcc771beeb15de14593ae5aad63a910c1..8a4d9ef635b38a7fd7e62fa985698433909de708 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.630980+00:00
+Created: 2019-01-20T04:00:48.206552+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         ),
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [269; 273),
-        delete_range: None
+        source_range: [269; 273),
+        text_edit: None
     }
 ]
index 1e69b865fd6c7066aa83c9daa44484f70d3fa760..404c738bd9c67c0d25e668f3e608fcc87ac4eac1 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.664242+00:00
+Created: 2019-01-20T04:00:48.220278+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [45; 47),
-        delete_range: None
+        source_range: [45; 47),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [45; 47),
-        delete_range: None
+        source_range: [45; 47),
+        text_edit: None
     }
 ]
index 5d2d018721143147ae93cda37805e1f544e523a9..6bef3ed95cc94d76012597916b05617776aefe34 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.678426+00:00
+Created: 2019-01-20T04:00:48.245820+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [46; 60),
-        delete_range: None
+        source_range: [46; 60),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "x()$0"
         ),
         insert_text_format: Snippet,
-        replace_range: [46; 60),
-        delete_range: None
+        source_range: [46; 60),
+        text_edit: None
     }
 ]
index 61ed4d0f2b0d9d7a91239ac4e6a90238ef370e29..56bfe1b0d657100e169e91856d3cd9f3e425605d 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.679470+00:00
+Created: 2019-01-20T04:00:48.244260+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [24; 26),
-        delete_range: None
+        source_range: [24; 26),
+        text_edit: None
     }
 ]
index 10ced4f288478a92b7aac53e956ef892fa3561d3..648d7f1899f5d425e01160ab8b3a62533bb624df 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.681192+00:00
+Created: 2019-01-20T04:00:48.252281+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "eprintln!(\"$0 = {:?}\", $0);"
         ),
         insert_text_format: Snippet,
-        replace_range: [16; 18),
-        delete_range: None
+        source_range: [16; 18),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Snippet,
@@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "eprintln!(\"$0 = {:#?}\", $0);"
         ),
         insert_text_format: Snippet,
-        replace_range: [16; 18),
-        delete_range: None
+        source_range: [16; 18),
+        text_edit: None
     }
 ]
index 5a87ae357d69be580b154a38f82be38a93cf3196..f5d0140eaff8547e08769b12190145a51a8863c9 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.682017+00:00
+Created: 2019-01-20T04:00:48.253073+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -17,8 +17,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "#[test]\nfn ${1:feature}() {\n    $0\n}"
         ),
         insert_text_format: Snippet,
-        replace_range: [49; 79),
-        delete_range: None
+        source_range: [49; 79),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Snippet,
@@ -32,7 +32,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "pub(crate) $0"
         ),
         insert_text_format: Snippet,
-        replace_range: [49; 79),
-        delete_range: None
+        source_range: [49; 79),
+        text_edit: None
     }
 ]
index 6208d04a489989235731f8864f2f186098f343d5..530c76a02c1fb2816dfb27290d85947800e0aa02 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.628928+00:00
+Created: 2019-01-20T04:00:48.203121+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,7 +15,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [84; 85),
-        delete_range: None
+        source_range: [84; 85),
+        text_edit: None
     }
 ]
index 6de8ada5a4d3f5ebf2e048a5bf1b0ea05d6c65c5..ec861bf7e0835826cccbfaa68c6c95afcaae1348 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.629043+00:00
+Created: 2019-01-20T04:00:48.203230+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [125; 126),
-        delete_range: None
+        source_range: [125; 126),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "foo($0)"
         ),
         insert_text_format: Snippet,
-        replace_range: [125; 126),
-        delete_range: None
+        source_range: [125; 126),
+        text_edit: None
     }
 ]
index 3e5c4fca90a03aceca2937c937942bc449c871c6..ee69884c8129fb570a158a9df6d355933f6d4100 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.629041+00:00
+Created: 2019-01-20T04:00:48.203235+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -15,8 +15,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [120; 121),
-        delete_range: None
+        source_range: [120; 121),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
             "foo($0)"
         ),
         insert_text_format: Snippet,
-        replace_range: [120; 121),
-        delete_range: None
+        source_range: [120; 121),
+        text_edit: None
     }
 ]
index bbec167d5db00caadf52dfa9c7ef3b91c6de6108..29f7f86f1ed151e2268bd7af9e282fa8bf92eae1 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.667522+00:00
+Created: 2019-01-20T04:00:48.223130+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,8 +13,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [11; 13),
-        delete_range: None
+        source_range: [11; 13),
+        text_edit: None
     },
     CompletionItem {
         completion_kind: Reference,
@@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [11; 13),
-        delete_range: None
+        source_range: [11; 13),
+        text_edit: None
     }
 ]
index ed571c605d8e5034ab6f8619af9e79b8e3be57b5..8b6aca26e7090b5d46623dda85c994fee4de9207 100644 (file)
@@ -1,4 +1,4 @@
-Created: 2019-01-19T16:37:23.669476+00:00
+Created: 2019-01-20T04:00:48.225170+00:00
 Creator: insta@0.1.4
 Source: crates/ra_ide_api/src/completion/completion_item.rs
 
@@ -13,7 +13,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
         lookup: None,
         insert_text: None,
         insert_text_format: PlainText,
-        replace_range: [24; 26),
-        delete_range: None
+        source_range: [24; 26),
+        text_edit: None
     }
 ]
index 54a977b7a241d77cae6a52fbebda1e064738c551..23b226fac7e3df790637ab5e0c3d9ae25c5fcbe5 100644 (file)
@@ -13,7 +13,6 @@
 use ra_text_edit::{AtomTextEdit, TextEdit};
 
 use crate::{req, server_world::ServerWorld, Result};
-use ra_text_edit::TextEditBuilder;
 
 pub trait Conv {
     type Output;
@@ -79,13 +78,11 @@ impl ConvWith for CompletionItem {
     type Ctx = LineIndex;
     type Output = ::lsp_types::CompletionItem;
 
-    fn conv_with(self, ctx: &LineIndex) -> ::lsp_types::CompletionItem {
-        let atom_text_edit = AtomTextEdit::replace(self.replace_range(), self.insert_text());
+    fn conv_with(mut self, ctx: &LineIndex) -> ::lsp_types::CompletionItem {
+        let atom_text_edit = AtomTextEdit::replace(self.source_range(), self.insert_text());
         let text_edit = (&atom_text_edit).conv_with(ctx);
-        let additional_text_edits = if let Some(delete_range) = self.delete_range() {
-            let mut builder = TextEditBuilder::default();
-            builder.delete(delete_range);
-            Some(builder.finish().conv_with(ctx))
+        let additional_text_edits = if let Some(edit) = self.take_text_edit() {
+            Some(edit.conv_with(ctx))
         } else {
             None
         };