diff options
Diffstat (limited to 'crates/ra_ide_api/src/completion/completion_item.rs')
-rw-r--r-- | crates/ra_ide_api/src/completion/completion_item.rs | 12 |
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. | ||
55 | impl fmt::Debug for CompletionItem { | 56 | impl 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 | } |