diff --git a/crates/ai/src/assistant.rs b/crates/ai/src/assistant.rs index 0d748e52b2..d6b8f52dd1 100644 --- a/crates/ai/src/assistant.rs +++ b/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 {