aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/completion/completion_item.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/completion/completion_item.rs')
-rw-r--r--crates/ra_ide_api/src/completion/completion_item.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/crates/ra_ide_api/src/completion/completion_item.rs b/crates/ra_ide_api/src/completion/completion_item.rs
index 9aa9768d1..95bdd59b4 100644
--- a/crates/ra_ide_api/src/completion/completion_item.rs
+++ b/crates/ra_ide_api/src/completion/completion_item.rs
@@ -52,12 +52,18 @@ pub struct CompletionItem {
52 documentation: Option<Documentation>, 52 documentation: Option<Documentation>,
53} 53}
54 54
55// We use custom debug for CompletionItem to make `insta`'s diffs more readable.
55impl fmt::Debug for CompletionItem { 56impl fmt::Debug for CompletionItem {
56 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 57 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
57 let mut s = f.debug_struct("CompletionItem"); 58 let mut s = f.debug_struct("CompletionItem");
58 s.field("label", &self.label()) 59 s.field("label", &self.label()).field("source_range", &self.source_range());
59 .field("source_range", &self.source_range()) 60 if self.text_edit().as_atoms().len() == 1 {
60 .field("text_edit", &self.text_edit); 61 let atom = &self.text_edit().as_atoms()[0];
62 s.field("delete", &atom.delete);
63 s.field("insert", &atom.insert);
64 } else {
65 s.field("text_edit", &self.text_edit);
66 }
61 if let Some(kind) = self.kind().as_ref() { 67 if let Some(kind) = self.kind().as_ref() {
62 s.field("kind", kind); 68 s.field("kind", kind);
63 } 69 }