complete_import: prevent panic when the anchor is the completion source range

(fix rebase mess)

 Please enter the commit message for your changes. Lines starting
This commit is contained in:
Andrea Pretto 2019-04-21 23:55:47 +02:00
parent 9144214958
commit 200032852b
3 changed files with 18 additions and 16 deletions

View file

@ -23,13 +23,23 @@ pub(super) fn complete_scope(acc: &mut Completions, ctx: &CompletionContext) {
);
builder.finish()
};
CompletionItem::new(
CompletionKind::Reference,
ctx.source_range(),
build_import_label(&name, &path),
)
.text_edit(edit)
.add_to(acc)
// Hack: copied this check form conv.rs beacause auto import can produce edits
// that invalidate assert in conv_with.
if edit
.as_atoms()
.iter()
.filter(|atom| !ctx.source_range().is_subrange(&atom.delete))
.all(|atom| ctx.source_range().intersection(&atom.delete).is_none())
{
CompletionItem::new(
CompletionKind::Reference,
ctx.source_range(),
build_import_label(&name, &path),
)
.text_edit(edit)
.add_to(acc);
}
});
}
}