use a combination of source_change and text_edit for CompleteItem

This commit is contained in:
gfreezy 2019-01-20 12:02:00 +08:00
parent 94d96b60f3
commit 2a43638052
48 changed files with 305 additions and 295 deletions

View file

@ -31,7 +31,7 @@ fn complete_fields(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty)
for field in s.fields(ctx.db) { for field in s.fields(ctx.db) {
CompletionItem::new( CompletionItem::new(
CompletionKind::Reference, CompletionKind::Reference,
ctx.leaf_range(), ctx.source_range(),
field.name().to_string(), field.name().to_string(),
) )
.kind(CompletionItemKind::Field) .kind(CompletionItemKind::Field)
@ -45,7 +45,11 @@ fn complete_fields(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty)
} }
Ty::Tuple(fields) => { Ty::Tuple(fields) => {
for (i, _ty) in fields.iter().enumerate() { for (i, _ty) in fields.iter().enumerate() {
CompletionItem::new(CompletionKind::Reference, ctx.leaf_range(), i.to_string()) CompletionItem::new(
CompletionKind::Reference,
ctx.source_range(),
i.to_string(),
)
.kind(CompletionItemKind::Field) .kind(CompletionItemKind::Field)
.add_to(acc); .add_to(acc);
} }
@ -61,7 +65,7 @@ fn complete_methods(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty
if sig.has_self_param() { if sig.has_self_param() {
CompletionItem::new( CompletionItem::new(
CompletionKind::Reference, CompletionKind::Reference,
ctx.leaf_range(), ctx.source_range(),
sig.name().to_string(), sig.name().to_string(),
) )
.from_function(ctx, func) .from_function(ctx, func)

View file

@ -34,7 +34,7 @@ pub(super) fn complete_fn_param(acc: &mut Completions, ctx: &CompletionContext)
} }
}) })
.for_each(|(label, lookup)| { .for_each(|(label, lookup)| {
CompletionItem::new(CompletionKind::Magic, ctx.leaf_range(), label) CompletionItem::new(CompletionKind::Magic, ctx.source_range(), label)
.lookup_by(lookup) .lookup_by(lookup)
.add_to(acc) .add_to(acc)
}); });

View file

@ -9,26 +9,26 @@ use crate::completion::{CompletionContext, CompletionItem, Completions, Completi
pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionContext) { pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionContext) {
// complete keyword "crate" in use stmt // 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()) { match (ctx.use_item_syntax.as_ref(), ctx.path_prefix.as_ref()) {
(Some(_), None) => { (Some(_), None) => {
CompletionItem::new(CompletionKind::Keyword, leaf_range, "crate") CompletionItem::new(CompletionKind::Keyword, source_range, "crate")
.kind(CompletionItemKind::Keyword) .kind(CompletionItemKind::Keyword)
.insert_text("crate::") .insert_text("crate::")
.add_to(acc); .add_to(acc);
CompletionItem::new(CompletionKind::Keyword, leaf_range, "self") CompletionItem::new(CompletionKind::Keyword, source_range, "self")
.kind(CompletionItemKind::Keyword) .kind(CompletionItemKind::Keyword)
.add_to(acc); .add_to(acc);
CompletionItem::new(CompletionKind::Keyword, leaf_range, "super") CompletionItem::new(CompletionKind::Keyword, source_range, "super")
.kind(CompletionItemKind::Keyword) .kind(CompletionItemKind::Keyword)
.insert_text("super::") .insert_text("super::")
.add_to(acc); .add_to(acc);
} }
(Some(_), Some(_)) => { (Some(_), Some(_)) => {
CompletionItem::new(CompletionKind::Keyword, leaf_range, "self") CompletionItem::new(CompletionKind::Keyword, source_range, "self")
.kind(CompletionItemKind::Keyword) .kind(CompletionItemKind::Keyword)
.add_to(acc); .add_to(acc);
CompletionItem::new(CompletionKind::Keyword, leaf_range, "super") CompletionItem::new(CompletionKind::Keyword, source_range, "super")
.kind(CompletionItemKind::Keyword) .kind(CompletionItemKind::Keyword)
.insert_text("super::") .insert_text("super::")
.add_to(acc); .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 { 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) .kind(CompletionItemKind::Keyword)
.snippet(snippet) .snippet(snippet)
.build() .build()

View file

@ -17,7 +17,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) {
for (name, res) in module_scope.entries() { for (name, res) in module_scope.entries() {
CompletionItem::new( CompletionItem::new(
CompletionKind::Reference, CompletionKind::Reference,
ctx.leaf_range(), ctx.source_range(),
name.to_string(), name.to_string(),
) )
.from_resolution(ctx, res) .from_resolution(ctx, res)
@ -30,7 +30,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) {
.for_each(|(variant_name, _variant)| { .for_each(|(variant_name, _variant)| {
CompletionItem::new( CompletionItem::new(
CompletionKind::Reference, CompletionKind::Reference,
ctx.leaf_range(), ctx.source_range(),
variant_name.to_string(), variant_name.to_string(),
) )
.kind(CompletionItemKind::EnumVariant) .kind(CompletionItemKind::EnumVariant)

View file

@ -31,7 +31,7 @@ pub(super) fn complete_scope(acc: &mut Completions, ctx: &CompletionContext) {
.for_each(|(name, res)| { .for_each(|(name, res)| {
CompletionItem::new( CompletionItem::new(
CompletionKind::Reference, CompletionKind::Reference,
ctx.leaf_range(), ctx.source_range(),
name.to_string(), name.to_string(),
) )
.from_resolution(ctx, res) .from_resolution(ctx, res)
@ -52,7 +52,7 @@ fn complete_fn(
.for_each(|entry| { .for_each(|entry| {
CompletionItem::new( CompletionItem::new(
CompletionKind::Reference, CompletionKind::Reference,
ctx.leaf_range(), ctx.source_range(),
entry.name().to_string(), entry.name().to_string(),
) )
.kind(CompletionItemKind::Binding) .kind(CompletionItemKind::Binding)

View file

@ -1,7 +1,7 @@
use crate::completion::{CompletionItem, Completions, CompletionKind, CompletionItemKind, CompletionContext, completion_item::Builder}; use crate::completion::{CompletionItem, Completions, CompletionKind, CompletionItemKind, CompletionContext, completion_item::Builder};
fn snippet(ctx: &CompletionContext, label: &str, snippet: &str) -> 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) .snippet(snippet)
.kind(CompletionItemKind::Snippet) .kind(CompletionItemKind::Snippet)
} }

View file

@ -65,7 +65,10 @@ impl<'a> CompletionContext<'a> {
Some(ctx) 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() self.leaf.range()
} }

View file

@ -2,6 +2,7 @@ use hir::PerNs;
use crate::completion::completion_context::CompletionContext; use crate::completion::completion_context::CompletionContext;
use ra_syntax::TextRange; use ra_syntax::TextRange;
use ra_text_edit::TextEdit;
/// `CompletionItem` describes a single completion variant in the editor pop-up. /// `CompletionItem` describes a single completion variant in the editor pop-up.
/// It is basically a POD with various properties. To construct a /// It is basically a POD with various properties. To construct a
@ -17,8 +18,8 @@ pub struct CompletionItem {
lookup: Option<String>, lookup: Option<String>,
insert_text: Option<String>, insert_text: Option<String>,
insert_text_format: InsertTextFormat, insert_text_format: InsertTextFormat,
replace_range: TextRange, source_range: TextRange,
delete_range: Option<TextRange>, text_edit: Option<TextEdit>,
} }
#[derive(Debug, Clone, Copy, PartialEq, Eq)] #[derive(Debug, Clone, Copy, PartialEq, Eq)]
@ -64,7 +65,7 @@ impl CompletionItem {
) -> Builder { ) -> Builder {
let label = label.into(); let label = label.into();
Builder { Builder {
replace_range, source_range: replace_range,
completion_kind, completion_kind,
label, label,
insert_text: None, insert_text: None,
@ -72,7 +73,7 @@ impl CompletionItem {
detail: None, detail: None,
lookup: None, lookup: None,
kind: None, kind: None,
delete_range: None, text_edit: None,
} }
} }
/// What user sees in pop-up in the UI. /// What user sees in pop-up in the UI.
@ -103,18 +104,18 @@ impl CompletionItem {
pub fn kind(&self) -> Option<CompletionItemKind> { pub fn kind(&self) -> Option<CompletionItemKind> {
self.kind self.kind
} }
pub fn delete_range(&self) -> Option<TextRange> { pub fn take_text_edit(&mut self) -> Option<TextEdit> {
self.delete_range self.text_edit.take()
} }
pub fn replace_range(&self) -> TextRange { pub fn source_range(&self) -> TextRange {
self.replace_range self.source_range
} }
} }
/// A helper to make `CompletionItem`s. /// A helper to make `CompletionItem`s.
#[must_use] #[must_use]
pub(crate) struct Builder { pub(crate) struct Builder {
replace_range: TextRange, source_range: TextRange,
completion_kind: CompletionKind, completion_kind: CompletionKind,
label: String, label: String,
insert_text: Option<String>, insert_text: Option<String>,
@ -122,7 +123,7 @@ pub(crate) struct Builder {
detail: Option<String>, detail: Option<String>,
lookup: Option<String>, lookup: Option<String>,
kind: Option<CompletionItemKind>, kind: Option<CompletionItemKind>,
delete_range: Option<TextRange>, text_edit: Option<TextEdit>,
} }
impl Builder { impl Builder {
@ -132,14 +133,14 @@ impl Builder {
pub(crate) fn build(self) -> CompletionItem { pub(crate) fn build(self) -> CompletionItem {
CompletionItem { CompletionItem {
replace_range: self.replace_range, source_range: self.source_range,
label: self.label, label: self.label,
detail: self.detail, detail: self.detail,
insert_text_format: self.insert_text_format, insert_text_format: self.insert_text_format,
lookup: self.lookup, lookup: self.lookup,
kind: self.kind, kind: self.kind,
completion_kind: self.completion_kind, completion_kind: self.completion_kind,
delete_range: self.delete_range, text_edit: self.text_edit,
insert_text: self.insert_text, insert_text: self.insert_text,
} }
} }
@ -165,6 +166,11 @@ impl Builder {
self self
} }
#[allow(unused)] #[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 { pub(crate) fn detail(self, detail: impl Into<String>) -> Builder {
self.set_detail(Some(detail)) self.set_detail(Some(detail))
} }

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"quux()$0" "quux()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [213; 231), source_range: [213; 231),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -26,8 +26,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [213; 231), source_range: [213; 231),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -41,7 +41,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"quux()$0" "quux()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [213; 231), source_range: [213; 231),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [78; 79), source_range: [78; 79),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -26,8 +26,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [78; 79), source_range: [78; 79),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -41,7 +41,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"quux($0)" "quux($0)"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [78; 79), source_range: [78; 79),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,8 +75,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"continue;" "continue;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -90,8 +90,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"break;" "break;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -105,7 +105,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return $0;" "return $0;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [54; 56), source_range: [54; 56),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [59; 61), source_range: [59; 61),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [59; 61), source_range: [59; 61),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [59; 61), source_range: [59; 61),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [59; 61), source_range: [59; 61),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return $0;" "return $0;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [59; 61), source_range: [59; 61),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [23; 25), source_range: [23; 25),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [84; 102), source_range: [84; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [84; 102), source_range: [84; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [84; 102), source_range: [84; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [84; 102), source_range: [84; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return $0" "return $0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [84; 102), source_range: [84; 102),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [35; 39), source_range: [35; 39),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [35; 39), source_range: [35; 39),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [40; 41), source_range: [40; 41),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [108; 146), source_range: [108; 146),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"foo()$0" "foo()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [108; 146), source_range: [108; 146),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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" "no_args()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [53; 56), source_range: [53; 56),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"main()$0" "main()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [53; 56), source_range: [53; 56),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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" "main()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [72; 77), source_range: [72; 77),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"with_args($0)" "with_args($0)"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [72; 77), source_range: [72; 77),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 54), source_range: [24; 54),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 54), source_range: [24; 54),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 54), source_range: [24; 54),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 54), source_range: [24; 54),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return;" "return;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 54), source_range: [24; 54),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,8 +75,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"else {$0}" "else {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -90,8 +90,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"else if $0 {}" "else if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -105,7 +105,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return;" "return;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [91; 105), source_range: [91; 105),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [31; 65), source_range: [31; 65),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [31; 65), source_range: [31; 65),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [31; 65), source_range: [31; 65),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [31; 65), source_range: [31; 65),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return $0;" "return $0;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [31; 65), source_range: [31; 65),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 58), source_range: [24; 58),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 58), source_range: [24; 58),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 58), source_range: [24; 58),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 58), source_range: [24; 58),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return;" "return;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [24; 58), source_range: [24; 58),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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::" "crate::"
), ),
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [16; 30), source_range: [16; 30),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -28,8 +28,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [16; 30), source_range: [16; 30),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -43,7 +43,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"super::" "super::"
), ),
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [16; 30), source_range: [16; 30),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [18; 20), source_range: [18; 20),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"super::" "super::"
), ),
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [18; 20), source_range: [18; 20),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [23; 24), source_range: [23; 24),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"super::" "super::"
), ),
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [23; 24), source_range: [23; 24),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return $0;" "return $0;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,7 +75,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return $0;" "return $0;"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [62; 100), source_range: [62; 100),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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)" "the_method($0)"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [143; 144), source_range: [143; 144),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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" "quux()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [72; 102), source_range: [72; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -28,8 +28,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [72; 102), source_range: [72; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -41,7 +41,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [72; 102), source_range: [72; 102),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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" "quux()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [100; 102), source_range: [100; 102),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [100; 102), source_range: [100; 102),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [12; 14), source_range: [12; 14),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [12; 14), source_range: [12; 14),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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 {}" "if $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -30,8 +30,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"match $0 {}" "match $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -45,8 +45,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"while $0 {}" "while $0 {}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -60,8 +60,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"loop {$0}" "loop {$0}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -75,8 +75,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"continue" "continue"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -90,8 +90,8 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"break" "break"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Keyword, completion_kind: Keyword,
@ -105,7 +105,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"return" "return"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [106; 108), source_range: [106; 108),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [98; 102), source_range: [98; 102),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [98; 102), source_range: [98; 102),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [269; 273), source_range: [269; 273),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [45; 47), source_range: [45; 47),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [45; 47), source_range: [45; 47),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [46; 60), source_range: [46; 60),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -28,7 +28,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"x()$0" "x()$0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [46; 60), source_range: [46; 60),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [24; 26), source_range: [24; 26),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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);" "eprintln!(\"$0 = {:?}\", $0);"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [16; 18), source_range: [16; 18),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Snippet, completion_kind: Snippet,
@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"eprintln!(\"$0 = {:#?}\", $0);" "eprintln!(\"$0 = {:#?}\", $0);"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [16; 18), source_range: [16; 18),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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}" "#[test]\nfn ${1:feature}() {\n $0\n}"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [49; 79), source_range: [49; 79),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Snippet, completion_kind: Snippet,
@ -32,7 +32,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"pub(crate) $0" "pub(crate) $0"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [49; 79), source_range: [49; 79),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [84; 85), source_range: [84; 85),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [125; 126), source_range: [125; 126),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"foo($0)" "foo($0)"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [125; 126), source_range: [125; 126),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [120; 121), source_range: [120; 121),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -30,7 +30,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
"foo($0)" "foo($0)"
), ),
insert_text_format: Snippet, insert_text_format: Snippet,
replace_range: [120; 121), source_range: [120; 121),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [11; 13), source_range: [11; 13),
delete_range: None text_edit: None
}, },
CompletionItem { CompletionItem {
completion_kind: Reference, completion_kind: Reference,
@ -26,7 +26,7 @@ Source: crates/ra_ide_api/src/completion/completion_item.rs
lookup: None, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [11; 13), source_range: [11; 13),
delete_range: None text_edit: None
} }
] ]

View 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 Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs 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, lookup: None,
insert_text: None, insert_text: None,
insert_text_format: PlainText, insert_text_format: PlainText,
replace_range: [24; 26), source_range: [24; 26),
delete_range: None text_edit: None
} }
] ]

View file

@ -13,7 +13,6 @@ use ra_syntax::{SyntaxKind, TextRange, TextUnit};
use ra_text_edit::{AtomTextEdit, TextEdit}; use ra_text_edit::{AtomTextEdit, TextEdit};
use crate::{req, server_world::ServerWorld, Result}; use crate::{req, server_world::ServerWorld, Result};
use ra_text_edit::TextEditBuilder;
pub trait Conv { pub trait Conv {
type Output; type Output;
@ -79,13 +78,11 @@ impl ConvWith for CompletionItem {
type Ctx = LineIndex; type Ctx = LineIndex;
type Output = ::lsp_types::CompletionItem; type Output = ::lsp_types::CompletionItem;
fn conv_with(self, ctx: &LineIndex) -> ::lsp_types::CompletionItem { fn conv_with(mut self, ctx: &LineIndex) -> ::lsp_types::CompletionItem {
let atom_text_edit = AtomTextEdit::replace(self.replace_range(), self.insert_text()); let atom_text_edit = AtomTextEdit::replace(self.source_range(), self.insert_text());
let text_edit = (&atom_text_edit).conv_with(ctx); let text_edit = (&atom_text_edit).conv_with(ctx);
let additional_text_edits = if let Some(delete_range) = self.delete_range() { let additional_text_edits = if let Some(edit) = self.take_text_edit() {
let mut builder = TextEditBuilder::default(); Some(edit.conv_with(ctx))
builder.delete(delete_range);
Some(builder.finish().conv_with(ctx))
} else { } else {
None None
}; };