Merge remote-tracking branch 'origin/main' into ai-refactoring
This commit is contained in:
commit
44f554f489
96 changed files with 4850 additions and 1757 deletions
|
@ -1478,14 +1478,14 @@ impl Conversation {
|
|||
) -> Self {
|
||||
let markdown = language_registry.language_for_name("Markdown");
|
||||
let buffer = cx.add_model(|cx| {
|
||||
let mut buffer = Buffer::new(0, "", cx);
|
||||
let mut buffer = Buffer::new(0, cx.model_id() as u64, "");
|
||||
buffer.set_language_registry(language_registry);
|
||||
cx.spawn_weak(|buffer, mut cx| async move {
|
||||
let markdown = markdown.await?;
|
||||
let buffer = buffer
|
||||
.upgrade(&cx)
|
||||
.ok_or_else(|| anyhow!("buffer was dropped"))?;
|
||||
buffer.update(&mut cx, |buffer, cx| {
|
||||
buffer.update(&mut cx, |buffer: &mut Buffer, cx| {
|
||||
buffer.set_language(Some(markdown), cx)
|
||||
});
|
||||
anyhow::Ok(())
|
||||
|
@ -1567,7 +1567,7 @@ impl Conversation {
|
|||
let mut message_anchors = Vec::new();
|
||||
let mut next_message_id = MessageId(0);
|
||||
let buffer = cx.add_model(|cx| {
|
||||
let mut buffer = Buffer::new(0, saved_conversation.text, cx);
|
||||
let mut buffer = Buffer::new(0, cx.model_id() as u64, saved_conversation.text);
|
||||
for message in saved_conversation.messages {
|
||||
message_anchors.push(MessageAnchor {
|
||||
id: message.id,
|
||||
|
@ -1581,7 +1581,7 @@ impl Conversation {
|
|||
let buffer = buffer
|
||||
.upgrade(&cx)
|
||||
.ok_or_else(|| anyhow!("buffer was dropped"))?;
|
||||
buffer.update(&mut cx, |buffer, cx| {
|
||||
buffer.update(&mut cx, |buffer: &mut Buffer, cx| {
|
||||
buffer.set_language(Some(markdown), cx)
|
||||
});
|
||||
anyhow::Ok(())
|
||||
|
@ -1751,7 +1751,9 @@ impl Conversation {
|
|||
stream: true,
|
||||
};
|
||||
|
||||
let Some(api_key) = self.api_key.borrow().clone() else { continue };
|
||||
let Some(api_key) = self.api_key.borrow().clone() else {
|
||||
continue;
|
||||
};
|
||||
let stream = stream_completion(api_key, cx.background().clone(), request);
|
||||
let assistant_message = self
|
||||
.insert_message_after(
|
||||
|
@ -2107,7 +2109,9 @@ impl Conversation {
|
|||
}) {
|
||||
current_message = messages.next();
|
||||
}
|
||||
let Some(message) = current_message.as_ref() else { break };
|
||||
let Some(message) = current_message.as_ref() else {
|
||||
break;
|
||||
};
|
||||
|
||||
// Skip offsets that are in the same message.
|
||||
while offsets.peek().map_or(false, |offset| {
|
||||
|
@ -2544,7 +2548,10 @@ impl ConversationEditor {
|
|||
let Some(panel) = workspace.panel::<AssistantPanel>(cx) else {
|
||||
return;
|
||||
};
|
||||
let Some(editor) = workspace.active_item(cx).and_then(|item| item.act_as::<Editor>(cx)) else {
|
||||
let Some(editor) = workspace
|
||||
.active_item(cx)
|
||||
.and_then(|item| item.act_as::<Editor>(cx))
|
||||
else {
|
||||
return;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue