mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-07 20:39:04 +03:00
Show time in assistant messages
This commit is contained in:
parent
52e8bf2928
commit
890c42a75a
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -101,6 +101,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"assets",
|
"assets",
|
||||||
|
"chrono",
|
||||||
"collections",
|
"collections",
|
||||||
"editor",
|
"editor",
|
||||||
"futures 0.3.28",
|
"futures 0.3.28",
|
||||||
|
@ -19,11 +19,12 @@ theme = { path = "../theme" }
|
|||||||
util = { path = "../util" }
|
util = { path = "../util" }
|
||||||
workspace = { path = "../workspace" }
|
workspace = { path = "../workspace" }
|
||||||
|
|
||||||
serde.workspace = true
|
|
||||||
serde_json.workspace = true
|
|
||||||
anyhow.workspace = true
|
anyhow.workspace = true
|
||||||
|
chrono = "0.4"
|
||||||
futures.workspace = true
|
futures.workspace = true
|
||||||
isahc.workspace = true
|
isahc.workspace = true
|
||||||
|
serde.workspace = true
|
||||||
|
serde_json.workspace = true
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
editor = { path = "../editor", features = ["test-support"] }
|
editor = { path = "../editor", features = ["test-support"] }
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use crate::{OpenAIRequest, OpenAIResponseStreamEvent, RequestMessage, Role};
|
use crate::{OpenAIRequest, OpenAIResponseStreamEvent, RequestMessage, Role};
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
|
use chrono::{DateTime, Local};
|
||||||
use collections::HashMap;
|
use collections::HashMap;
|
||||||
use editor::{Editor, ExcerptId, ExcerptRange, MultiBuffer};
|
use editor::{Editor, ExcerptId, ExcerptRange, MultiBuffer};
|
||||||
use futures::{io::BufReader, AsyncBufReadExt, AsyncReadExt, Stream, StreamExt};
|
use futures::{io::BufReader, AsyncBufReadExt, AsyncReadExt, Stream, StreamExt};
|
||||||
@ -343,6 +344,7 @@ impl Assistant {
|
|||||||
let message = Message {
|
let message = Message {
|
||||||
role,
|
role,
|
||||||
content: content.clone(),
|
content: content.clone(),
|
||||||
|
sent_at: Local::now(),
|
||||||
};
|
};
|
||||||
self.messages.push(message.clone());
|
self.messages.push(message.clone());
|
||||||
self.messages_by_id.insert(excerpt_id, message.clone());
|
self.messages_by_id.insert(excerpt_id, message.clone());
|
||||||
@ -394,7 +396,16 @@ impl AssistantEditor {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Flex::row()
|
Flex::row()
|
||||||
.with_child(sender)
|
.with_child(sender.aligned())
|
||||||
|
.with_child(
|
||||||
|
Label::new(
|
||||||
|
message.sent_at.format("%I:%M%P").to_string(),
|
||||||
|
style.sent_at.text.clone(),
|
||||||
|
)
|
||||||
|
.contained()
|
||||||
|
.with_style(style.sent_at.container)
|
||||||
|
.aligned(),
|
||||||
|
)
|
||||||
.aligned()
|
.aligned()
|
||||||
.left()
|
.left()
|
||||||
.contained()
|
.contained()
|
||||||
@ -461,6 +472,7 @@ impl Item for AssistantEditor {
|
|||||||
struct Message {
|
struct Message {
|
||||||
role: Role,
|
role: Role,
|
||||||
content: ModelHandle<Buffer>,
|
content: ModelHandle<Buffer>,
|
||||||
|
sent_at: DateTime<Local>,
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn stream_completion(
|
async fn stream_completion(
|
||||||
|
@ -972,6 +972,7 @@ pub struct TerminalStyle {
|
|||||||
pub struct AssistantStyle {
|
pub struct AssistantStyle {
|
||||||
pub container: ContainerStyle,
|
pub container: ContainerStyle,
|
||||||
pub header: ContainerStyle,
|
pub header: ContainerStyle,
|
||||||
|
pub sent_at: ContainedText,
|
||||||
pub user_sender: ContainedText,
|
pub user_sender: ContainedText,
|
||||||
pub assistant_sender: ContainedText,
|
pub assistant_sender: ContainedText,
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,10 @@ export default function assistant(colorScheme: ColorScheme) {
|
|||||||
},
|
},
|
||||||
assistant_sender: {
|
assistant_sender: {
|
||||||
...text(layer, "sans", "accent", { size: "sm", weight: "bold" }),
|
...text(layer, "sans", "accent", { size: "sm", weight: "bold" }),
|
||||||
|
},
|
||||||
|
sent_at: {
|
||||||
|
margin: { top: 2, left: 8 },
|
||||||
|
...text(layer, "sans", "default", { size: "2xs" }),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user