Emit editor event whether we insert a newline or not.

Piotr Osiewicz created

Change summary

crates/ai/src/assistant.rs | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

Detailed changes

crates/ai/src/assistant.rs 🔗

@@ -736,8 +736,13 @@ impl Assistant {
             }
 
             let role = metadata.role;
-            self.buffer.update(cx, |buffer, cx| {
-                buffer.edit([(range.end..range.end, "\n")], None, cx)
+            let is_newline = self.buffer.update(cx, |buffer, cx| {
+                if buffer.chars_at(range.end).next() != Some('\n') {
+                    buffer.edit([(range.end..range.end, "\n")], None, cx);
+                    false
+                } else {
+                    true
+                }
             });
             let suffix = Message {
                 id: MessageId(post_inc(&mut self.next_message_id.0)),
@@ -752,7 +757,9 @@ impl Assistant {
                     error: None,
                 },
             );
-
+            if is_newline {
+                cx.emit(AssistantEvent::MessagesEdited);
+            }
             if range.start == range.end || range.start == message_range.start {
                 (None, Some(suffix))
             } else {